<div id="getMap" ></div>
this.$nextTick(function() {
var getmap = new BMap.Map("getMap", {
enableMapClick: false
});
var point = new BMap.Point(118.629051, 32.059719);
var getmap.centerAndZoom(point, 20);
var getmap.enableScrollWheelZoom(true);
var local = new BMap.LocalSearch(getmap, {
renderOptions: { map: getmap }
});
local.setMarkersSetCallback(function(pois){
getmap .clearOverlays();
for(var i=0;i<pois.length;i++){
var marker = new BMap.Marker(pois[i].point);
getmap .addOverlay(marker);
}
var uid = pois[0].uid;
$.ajax({
async: false,
url:"https://map.baidu.com/?pcevaname=pc4.1&qt=ext&ext_ver=new&l=12&uid="+uid,
dataType:'jsonp',
jsonp:'callback',
success:function(re){
this.queryUid(re.content)
}
})
})
local.search("北京");
function queryUid(content) {
if (null != content.geo && content.geo != undefined) {
var geo = content.geo;
var pointss = coordinateToPoints(geo);
if (pointss && pointss.indexOf(";") >= 0) {
pointss = pointss.split(";");
}
var arr = [];
for (var i = 0; i < pointss.length - 1; i++) {
var temp = pointss[i].split(",");
arr.push(
new BMap.Point(parseFloat(temp[0]), parseFloat(temp[1]))
);
}
var polygon = new BMap.Polygon(arr, {
strokeColor: "blue",
strokeWeight: 2,
fillColor: "null",
strokeStyle: "dashed",
strokeOpacity: 0.5,
fillOpacity: 0.01
});
getmap.addOverlay(polygon);
}
}
function coordinateToPoints(coordinate) {
var pointss = "";
if (coordinate) {
var projection = BMAP_NORMAL_MAP.getProjection();
if (coordinate && coordinate.indexOf("-") >= 0) {
coordinate = coordinate.split("-");
}
var tempco = coordinate[1];
if (tempco && tempco.indexOf(",") >= 0) {
tempco = tempco.replace(";", "").split(",");
}
var temppoints = [];
for (var i = 0, len = tempco.length; i < len; i++) {
var obj = new Object();
obj.lng = tempco[i];
obj.lat = tempco[i + 1];
temppoints.push(obj);
i++;
}
for (var i = 0, len = temppoints.length; i < len; i++) {
var pos = temppoints[i];
var point = projection.pointToLngLat(
new BMap.Pixel(pos.lng, pos.lat)
);
pointss += [point.lng, point.lat].toString() + ";";
}
}
return pointss;
}
})