根据地理位置获取经纬度并标记
单个城市
var map = new AMap.Map('container', {
resizeEnable: true,
zoom: 5
});
var places = "杭州";
AMap.service('AMap.Geocoder', function () {
var geocoder = new AMap.Geocoder();
infoWindow = new AMap.InfoWindow({ offset: new AMap.Pixel(0, -30) });
geocoder.getLocation(places, function (status, result) {
if (status == 'complete' && result.geocodes.length) {
marker = new AMap.Marker({
position: result.geocodes[0].location,
map: map
})
marker.content = "站点名: " + places;
map.setCenter(result.geocodes[0].location);
marker.on('click', markerClick);
}
})
function markerClick(e) {
infoWindow.setContent(e.target.content);
infoWindow.open(map, e.target.getPosition());
}
map.setFitView();
});
多个城市
var map = new AMap.Map('mapfield', {
resizeEnable: true,
zoom: 5
});
$.ajax({
url: "/home/get_cities_aqi",
type: "GET",
dataType: "json",
timeout: 2000,
success: function (data) {
var index = 0;
AMap.service('AMap.Geocoder', function () {
var geocoder = new AMap.Geocoder();
infoWindow = new AMap.InfoWindow({ offset: new AMap.Pixel(0, -30) });
function amapGeo() {
var city = data[index];
geoSearch(city);
index++;
}
amapGeo();
function geoSearch(city) {
if (index < cities.length) {
setTimeout(window.amapGeo, 400);
}
geocoder.getLocation(city, function (status, result) {
if (status == 'complete' && result.geocodes.length) {
marker = new AMap.Marker({
position: result.geocodes[0].location,
map: map
});
marker.content = "站点名: " + city;
index++;
marker.on('click', markerClick);
}
});
}
function markerClick(e) {
infoWindow.setContent(e.target.content);
infoWindow.open(map, e.target.getPosition());
}
map.setFitView();
});
}
});