chengkun
2025-05-26 8f3df543230cd4403368b39b9bbe5726d11a0284
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
//获取地图坐标
function getmaplnglat(id,x,y,xid,yid){
    var data=get_map_config();
    if(data && dataindexOf('map_x')>-1){
        var config=eval('('+data+')');
        var rating,map_control_type,map_control_anchor;
        if(!x && !y){x=config.map_x;y=config.map_y;}
        var map = new BMap.Map(id, {defaultCursor: 'default'});
        var pront=map.centerAndZoom(new BMap.Point(x,y),15);
        var TILE_SIZE = 256;
        map.enableScrollWheelZoom(true); 
        var opts = {type:BMAP_NAVIGATION_CONTROL_LARGE} 
        map.addControl(new BMap.NavigationControl(opts));
        
        if(config.map_control_scale==1){//比例尺
             var opts = {offset:new BMap.Size(150,5)} 
             map.addControl(new BMap.ScaleControl(opts));  
         }
        
        map.addEventListener('click', function(e){
            var info = new BMap.InfoWindow('', {width: 260});
            var projection = this.getMapType().getProjection();
            var lngLat = e.point;
            document.getElementById(xid).value=lngLat.lng;//X写入到隐藏框中
            document.getElementById(yid).value=lngLat.lat;//Y写入到隐藏框中
            map.clearOverlays();//清除之前覆盖物
            var point = new BMap.Point(lngLat.lng,lngLat.lat);
            var marker = new BMap.Marker(point);  // 创建标注
            map.addOverlay(marker);           // 将标注添加到地图中
        });
    }
}
 
//在标准上展示内容
function getmapshowcont(id,x,y,title,cont){
    window.map = new BMap.Map(id);
    var point = new BMap.Point(x,y);
    var marker = new BMap.Marker(point);
    map.enableScrollWheelZoom(true); 
   
    var optsa = {type:BMAP_NAVIGATION_CONTROL_LARGE}  
    map.addControl(new BMap.NavigationControl(optsa)); 
    var opts = {
      width : 50,     // 信息窗口宽度
      height: 20,     // 信息窗口高度
      title : title  // 信息窗口标题
    }
    map.centerAndZoom(point, 15);
    map.addOverlay(marker);
    var geoc = new BMap.Geocoder();    
    geoc.getLocation(point,function(rs){
         var address = rs.addressComponents;
         var addr =address.province+address.city + address.district +address.street +  address.streetNumber;
         document.getElementById("map_end").value=addr;
    });
    
  
    /*map.addEventListener("click", function(e){ 
        var pt = e.point;
        geoc.getLocation(pt, function(rs){
            var addComp = rs.addressComponents;
            alert(addComp.province+ addComp.city  + addComp.district+addComp.street +addComp.streetNumber);
        });        
    });*/  
    var infoWindow = new BMap.InfoWindow(cont, opts);  // 创建信息窗口对象
    marker.openInfoWindow(infoWindow); 
  
    marker.addEventListener("click", function(){ //点击触发 
    marker.openInfoWindow(infoWindow);    
    });
}
 // 百度地图API功能
    
//getmapshowcont('map_container',116.404, 39.915,'ddd','aaaa');
//在标准上不展示内容 getmapnoshowcont
function getmapnoshowcont(id,x,y,xid,yid){
    var data=get_map_config();
    if(data && data.indexOf('map_x')>-1){
        var config=eval('('+data+')');
        var rating,map_control_type,map_control_anchor;
        if (!x && !y) { x = config.map_x; y = config.map_y; }
 
        window.map = new BMap.Map(id);
        var point = new BMap.Point(x,y);
        var marker = new BMap.Marker(point);
        var opts = {type:BMAP_NAVIGATION_CONTROL_LARGE} 
        //根据IP到城市开始
        if(x==''||y==''){
            var myCity = new BMap.LocalCity();
            myCity.get(myFun);    
        } 
        //根据IP到城市结结束
        map.enableScrollWheelZoom(true); 
        //map.addControl(new BMap.NavigationControl(opts));  
        map.centerAndZoom(point, 15);
        map.addOverlay(marker);    
        map.addEventListener("click",function(){
           getmaplnglat(id,x,y,xid,yid);
        });
        return map;
    }
}
//getmapnoshowcont('map_container',116.404,39.915);
 
function getmapnoshowcont_diffDomains(id,x,y,xid,yid,nodeId){    
    $.ajax({
        type : "get",
        async : false,       
        url : weburl + "/index.php?m=ajax&c=mapconfigdiffdomains",
        dataType : "jsonp",
        jsonpCallback:"diffdomains",
        success : function(json){
            var config = json;
            var rating,map_control_type,map_control_anchor;
            if (!x && !y) {
                x = config.map_x; 
                y = config.map_y; 
            }
            window.map = new BMap.Map(id);
            var point = new BMap.Point(x,y);
            var marker = new BMap.Marker(point);
            var opts = {type:BMAP_NAVIGATION_CONTROL_LARGE}
            if(x==''||y==''){
                var myCity = new BMap.LocalCity();
                myCity.get(myFun);    
            } 
            map.enableScrollWheelZoom(true); 
            map.centerAndZoom(point, 15);
            map.addOverlay(marker);    
            map.addEventListener("click",function(){
               getmaplnglat(id,x,y,xid,yid);
            });
            $("#"+nodeId).append(map);
        },
        error:function(e1,e2,e3){
        }
    });
}
 
 
 
function myFun(result){
    var cityName = result.name;
    map.setCenter(cityName);
}
function get_map_config(){
    var config="";
    $.ajax( {
            async : false,
            type : "post",
            url :'../index.php?m=ajax&c=mapconfig',
            data : {id:""},
            success : function(set) {
            config=set;
        }
        });
    return config;
}