我试图通过for循环来获取城市的长期和纬度。
现在我完成了我的编码,但仍然由于地理编码器是一个异步功能,一些东西不起作用(地图没有加载,标记没有显示)。使用地理编码器的输出我试图在MAP上显示标记。
function codeAddress(address, map, callback) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latLng = new google.maps.LatLng(results[0].geometry.location.lat().lat,results[0].geometry.location.lng());
var markerObj = new MarkerWithLabel({
position: latLng,
title:name,
labelContent: name,
labelClass:'marker-labels',
icon:markerImg
});
markerObj.setMap(map);
console.log(latLng);
return callback(map, latLng);
} else {
console.log('Geocode was not successful for the following reason: ' + status);
}
});
}
function initialize() {
var mapOptions = {
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('googleMap'),mapOptions);
if ('' != markersAddress) {
for (var x=0; x<markersAddress.length; x++) {
var address = markersAddress[x].address;
var name = markersAddress[x].name;
codeAddress(address, map, function(map, latLng) {})
}
}
}
google.maps.event.addDomListener(window, 'load', initialize);
答案 0 :(得分:3)
您正在使用MarkerWithLabel
,但尚未加入
将这两个文件包含在头
中 <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<script src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerwithlabel/src/markerwithlabel.js"></script>
请注意,这些文件的顺序很重要