";
// 澧炲姞宸︿晶鎺у埗鏉
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({
// // 鏄惁浣跨敤楂樼簿搴﹀畾浣嶏紝榛樿锛歵rue
// enableHighAccuracy: true,
// // 璁剧疆瀹氫綅瓒呮椂鏃堕棿锛岄粯璁わ細鏃犵┓澶
// timeout: 10000,
// // 瀹氫綅鎸夐挳鐨勫仠闈犱綅缃殑鍋忕Щ閲忥紝榛樿锛歅ixel(10, 20)
// buttonOffset: new AMap.Pixel(10, 20),
// // 瀹氫綅鎴愬姛鍚庤皟鏁村湴鍥捐閲庤寖鍥翠娇瀹氫綅浣嶇疆鍙婄簿搴﹁寖鍥磋閲庡唴鍙锛岄粯璁わ細false
// zoomToAccuracy: true,
// // 瀹氫綅鎸夐挳鐨勬帓鏀句綅缃? RB琛ㄧず鍙充笅
// buttonPosition: "RB"
// });
// console.log(geolocation);
var geolocation = new BMap.Geolocation({
// 鏄惁浣跨敤楂樼簿搴﹀畾浣嶏紝榛樿锛歵rue
enableHighAccuracy: true,
// 璁剧疆瀹氫綅瓒呮椂鏃堕棿锛岄粯璁わ細鏃犵┓澶
timeout: 10000,
// 瀹氫綅鎸夐挳鐨勫仠闈犱綅缃殑鍋忕Щ閲忥紝榛樿锛歅ixel(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);
// 鍒涘缓鍦板潃瑙f瀽鍣ㄥ疄渚
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)
// 灏嗗湴鍧€瑙f瀽缁撴灉鏄剧ず鍦ㄥ湴鍥句笂,骞惰皟鏁村湴鍥捐閲
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("鎮ㄩ€夋嫨鍦板潃娌℃湁瑙f瀽鍒扮粨鏋?");
}
},
mapCity
);
}
initMap();
//鐧惧害鍦板浘鑷姩瀹氫綅end
}
})