";
// å¢å 左侧æ§å¶æ¡
map.addControl(new BMap.NavigationControl());
// ç¼åèªå®ä¹å½æ°,åå»ºæ æ³¨
function addMarker(point, content){
// åå»ºæ æ³¨
var marker = new BMap.Marker(point);
map.addOverlay(marker);
var infoWindow = new BMap.InfoWindow(mapBoxShow);
//å¼å¯ä¿¡æ¯çªå£
map.openInfoWindow(infoWindow,point);
marker.addEventListener("click", function(){
this.openInfoWindow(infoWindow);
//å¾çå è½½å®æ¯éç»infowindow
document.getElementById('imgDemo').onload = function (){
infoWindow.redraw();
}
});
}
var myLocalsearch = new BMap.LocalSearch(
map,
{
onSearchComplete: function(results){
var poi = results.getPoi(0);
map.centerAndZoom(poi.point, 13);
var user_marker = new BMap.Marker(poi.point);
map.addOverlay(user_marker);
addMarker(poi.point, mapBoxShow);
}
}
);
myLocalsearch.search(mapProvince+mapCity+mapDistrict);
//ç¾åº¦å°å¾æå®å®ä½
}else{
function initMap() {
var that = this;
$("#"+mapId).addClass("map-hide");
var map = new AMap.Map(mapId, {
zoom: 15, //级å«
center: [113.35807, 23.13321] //ä¸å¿ç¹åæ
});
map.clearMap();
var marker = new AMap.Marker({
map: map,
position: [113.35807, 23.13321]
});
map.plugin("AMap.Geolocation", function () {
// var geolocation = new AMap.Geolocation({
// // æ¯å¦ä½¿ç¨é«ç²¾åº¦å®ä½ï¼é»è®¤ï¼true
// enableHighAccuracy: true,
// // 设置å®ä½è¶
æ¶æ¶é´ï¼é»è®¤ï¼æ 穷大
// timeout: 10000,
// // å®ä½æé®çåé ä½ç½®çåç§»éï¼é»è®¤ï¼Pixel(10, 20)
// buttonOffset: new AMap.Pixel(10, 20),
// // å®ä½æååè°æ´å°å¾è§éèå´ä½¿å®ä½ä½ç½®å精度èå´è§éå
å¯è§ï¼é»è®¤ï¼false
// zoomToAccuracy: true,
// // å®ä½æé®çææ¾ä½ç½®, RB表示å³ä¸
// buttonPosition: "RB"
// });
// console.log(geolocation);
var geolocation = new BMap.Geolocation({
// æ¯å¦ä½¿ç¨é«ç²¾åº¦å®ä½ï¼é»è®¤ï¼true
enableHighAccuracy: true,
// 设置å®ä½è¶
æ¶æ¶é´ï¼é»è®¤ï¼æ 穷大
timeout: 10000,
// å®ä½æé®çåé ä½ç½®çåç§»éï¼é»è®¤ï¼Pixel(10, 20)
buttonOffset: new AMap.Pixel(10, 20),
// å®ä½æååè°æ´å°å¾è§éèå´ä½¿å®ä½ä½ç½®å精度èå´è§éå
å¯è§ï¼é»è®¤ï¼false
zoomToAccuracy: true,
// å®ä½æé®çææ¾ä½ç½®, RB表示å³ä¸
buttonPosition: "RB"
});
geolocation.getCurrentPosition( function(r){
// console.log(r);
if(this.getStatus() == BMAP_STATUS_SUCCESS){
var mk = new BMap.Marker(r.point);
var myGeo = new BMap.Geocoder();
var address = myGeo.getLocation(new BMap.Point(r.point.lng,r.point.lat), function(rs){
// console.log(MyApp.app.mapCenter);
//console.log(rs);
var addComp = rs.addressComponents;
r.mapprovince = addComp.province;
r.mapcity = addComp.city
r.mapdistrict = addComp.district + addComp.street + addComp.streetNumber;
onComplete(r);
// alert(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);
});
}
else {
alert('æªç¥å°åï¼'+this.getStatus() + 'ï¼');
}
});
function onComplete(data) {
// dataæ¯å
·ä½çå®ä½ä¿¡æ¯
$(mapId).empty();
if (mapBox) {
BaiduMaps(data,data.point.lng, data.point.lat);
} else {
$(mapId).empty();
var ggPoint = new BMap.Point(data.point.lng, data.point.lat);
var bm = new BMap.Map(mapId);
bm.centerAndZoom(ggPoint, 15);
bm.addControl(new BMap.NavigationControl());
$("#"+mapId).removeClass("map-hide");
//é«å¾·åæ 转ç¾åº¦åæ åæ è½¬æ¢å®ä¹åçåè°å½æ°
var translateCallback = function (data) {
if (data.status === 0) {
var geoc = new BMap.Geocoder();
var pt = data.points[0];
geoc.getLocation(pt, function (rs) {
var marker = new BMap.Marker(data.points[0]); // åå»ºæ æ³¨
bm.addOverlay(marker); // å°æ 注添å å°å°å¾ä¸
bm.centerAndZoom(data.points[0], 15);
bm.addControl(new BMap.NavigationControl());
var opts = {
width: 200, // ä¿¡æ¯çªå£å®½åº¦
height: 100, // ä¿¡æ¯çªå£é«åº¦
title: "å°å:", // ä¿¡æ¯çªå£æ é¢ å°å
enableMessage: true //设置å
许信æ¯çªåéçæ¯
};
var infoWindow = new BMap.InfoWindow("æ ", opts); // å建信æ¯çªå£å¯¹è±¡
marker.addEventListener("click", function () {
bm.openInfoWindow(infoWindow, data.points[0]); //å¼å¯ä¿¡æ¯çªå£
});
});
}
};
var convertor = new BMap.Convertor();
var pointArr = [];
pointArr.push(ggPoint);
convertor.translate(pointArr, 3, 5, translateCallback);
}
}
function onError(error) {
switch(error.code) {
case error.PERMISSION_DENIED:
console.log("ç¨æ·æç»å¯¹è·åå°çä½ç½®ç请æ±ã")
break;
case error.POSITION_UNAVAILABLE:
console.log("ä½ç½®ä¿¡æ¯æ¯ä¸å¯ç¨çã")
break;
case error.TIMEOUT:
console.log("请æ±ç¨æ·å°çä½ç½®è¶
æ¶ã")
break;
case error.UNKNOWN_ERROR:
console.log("æªç¥é误ã")
break;
}
//console.log(data);
// å®ä½åºé
//alert("å®ä½åºéäº");
}
});
}
function BaiduMaps(data,x, y) {
var that = this;
$(mapId).empty();
var ggPoint = new BMap.Point(x, y);
var bm = new BMap.Map(mapId);
// å建å°åè§£æå¨å®ä¾
var myGeo = new BMap.Geocoder();
$("#"+mapId).removeClass("map-hide");
if(mapProvince == ''){
mapProvince = data.mapprovince;
}
if(mapCity == ''){
mapCity = data.mapcity
}
if(mapDistrict == ''){
mapDistrict = data.mapdistrict
}
//console.log(mapProvince ,mapCity ,mapDistrict)
// å°å°åè§£æç»ææ¾ç¤ºå¨å°å¾ä¸,å¹¶è°æ´å°å¾è§é
myGeo.getPoint(
mapProvince + mapCity + mapDistrict,
function (point) {
if (point) {
bm.centerAndZoom(point, 16);
bm.addOverlay(new BMap.Marker(point));
var marker = new BMap.Marker(point); // åå»ºæ æ³¨
bm.addOverlay(marker); // å°æ 注添å å°å°å¾ä¸
bm.centerAndZoom(point, 15);
bm.addControl(new BMap.NavigationControl());
var opts = {
width: 200, // ä¿¡æ¯çªå£å®½åº¦
height: 100, // ä¿¡æ¯çªå£é«åº¦
title: "å°å:", // ä¿¡æ¯çªå£æ é¢ å°å
enableMessage: true //设置å
许信æ¯çªåéçæ¯
};
var infoWindow = new BMap.InfoWindow(signAddress, opts); // å建信æ¯çªå£å¯¹è±¡
marker.addEventListener("click", function () {
bm.openInfoWindow(infoWindow, point); //å¼å¯ä¿¡æ¯çªå£
});
} else {
alert("æ¨éæ©å°å没æè§£æå°ç»æ!");
}
},
mapCity
);
}
initMap();
//ç¾åº¦å°å¾èªå¨å®ä½end
}
})