| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- function search_api(api_address, city) {
- var myValue = '';
- if(city){
- myValue = city;
- }
- if(api_address){
- myValue += api_address;
- }
- setPlace(myValue);
- }
- function setPlace(myValue) {
- var map = new BMap.Map("container");
- map.centerAndZoom(new BMap.Point(0, 0), 11);
- var top_left_control = new BMap.ScaleControl({
- anchor : BMAP_ANCHOR_TOP_LEFT
- });// 左上角,添加比例尺
- var top_left_navigation = new BMap.NavigationControl(); //左上角,添加默认缩放平移控件
- map.clearOverlays(); //清除地图上所有覆盖物
- function myFun() {
- try {
- var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
- map.centerAndZoom(pp, 18);
- map.addOverlay(new BMap.Marker(pp)); //添加标注
- map.addControl(top_left_control);
- map.addControl(top_left_navigation);
- $("input[name='xpoint']").attr('value', pp.lng);
- $("input[name='ypoint']").attr('value', pp.lat);
- } catch (ex) {
- alert("搜索不到您输入的地址");
- }
- }
- var local = new BMap.LocalSearch(map, { //智能搜索
- onSearchComplete : myFun
- });
- local.search(myValue);
- }
- function draw_map(xpoint, ypoint) {
- var map = new BMap.Map("container");
- var opts = {
- type : BMAP_NAVIGATION_CONTROL_ZOOM
- }
- map.addControl(new BMap.NavigationControl());
- // map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
- // 创建地理编码服务实例
- var point = new BMap.Point(xpoint, ypoint);
- // 将结果显示在地图上,并调整地图视野
- map.centerAndZoom(point, 16);
- map.addOverlay(new BMap.Marker(point));
- }
- /*弹出窗口,并初始化地图*/
- function editMap(x, y) {
- $("#container_front").show();
- creat_map(x, y);
- }
- /*对弹出窗口初始化地图*/
- function creat_map(xpoint, ypoint) {
- var map = new BMap.Map("container_m");
- var point = new BMap.Point(xpoint, ypoint);
- map.centerAndZoom(point, 17);
- var myIcon = new BMap.Icon(red_point, new BMap.Size(28, 38));
- var marker = new BMap.Marker(point, {
- icon : myIcon
- }); // 创建标注
- var name = $("input[name='name']").attr('value');
- var label = create_lable(name);
- marker.setLabel(label);
- map.addOverlay(marker); // 将标注添加到地图中
- // map.enableScrollWheelZoom(); // 开启鼠标滚轮缩放
- //新坐标
- var myIcon = new BMap.Icon(blue_point, new BMap.Size(21, 27));
- var marker_change = new BMap.Marker(point, {
- icon : myIcon
- });
- map.addOverlay(marker_change);
- marker_change.addEventListener("dragend", function(e) {
- if (confirm('是否更新标记坐标?')) {
- $("input[name='xpoint']").attr('value', e.point.lng);
- $("input[name='ypoint']").attr('value', e.point.lat);
- $("#container_front").hide();
- new_map(e.point.lng, e.point.lat, xpoint, ypoint);
- }
- })
- marker_change.enableDragging();
- map.addControl(new BMap.NavigationControl());
- }
- /*生成2个标记*/
- function new_map(x, y, old_x, old_y) {
- var map = new BMap.Map("container");
- var xpoint = old_x;
- var ypoint = old_y;
- var point = new BMap.Point(xpoint, ypoint);
- map.centerAndZoom(point, 17);
- var point_new = new BMap.Point(x, y);
- var myIcon_curron = new BMap.Icon(blue_point, new BMap.Size(28, 38));
- var marker = new BMap.Marker(point_new, {
- icon : myIcon_curron
- });
- var label = create_lable("修正坐标");
- marker.setLabel(label);
- map.addOverlay(marker); // 将标注添加到地图中
- var opts = {
- type : BMAP_NAVIGATION_CONTROL_SMALL
- }
- map.addControl(new BMap.NavigationControl(opts));
- map.enableScrollWheelZoom(); // 开启鼠标滚轮缩放
- var myIcon = new BMap.Icon(red_point, new BMap.Size(28, 38));
- var marker_old = new BMap.Marker(point, {
- icon : myIcon
- });
- var label_old = create_lable("原始坐标");
- marker_old.setLabel(label_old);
- map.addOverlay(marker_old);
- marker.addEventListener('mouseover', function() {
- map.panTo(new BMap.Point(x, y));
- });
- window.setTimeout(function() {
- map.panTo(point_new);
- }, 2000);
- }
- function create_lable(name) {
- var label = new BMap.Label(name, {
- "offset" : new BMap.Size(-8, -20)
- });
- label.setStyle({
- borderColor : "#808080",
- color : "#333",
- cursor : "pointer"
- });
- return label;
- }
|