Google 带有地址和标题的地图标记来自 json
Google Maps Markers with address and title from a json
JSON 加载了带有标记的 GoogleMap。标记显示正确。但是信息 Window 只显示最后一个标题(unternehmen / company)。是覆盖问题吗?我该如何解决?
<div id="map" style="height:500px;width:100%;"></div>
<script src="https://maps.googleapis.com/maps/api/js!!!######MYKEY########!!!!" type="text/javascript"></script>
<script type="text/javascript">
var map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(50,12),
zoom: 3,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var json = [
{
"unternehmen": "Dresden",
"address": "Dresden, Deutschland"
},
{
"unternehmen": "Frankfurt",
"address": "Frankfurt, Deutschland"
}
]
var infoWindow = new google.maps.InfoWindow();
var geocoder = new google.maps.Geocoder();
for (var i = 0, length = json.length; i < length; i++) {
var data = json[i],
address = data.address,
unternehmen = data.unternehmen;
geocoder.geocode( { 'address' : address }, function( results ) {
var marker = new google.maps.Marker( {
map: map,
position: results[0].geometry.location,
title: unternehmen,
animation: google.maps.Animation.DROP
});
(function(marker, data) {
google.maps.event.addListener(marker, "click", function( e ) {
infoWindow.setContent(unternehmen);
infoWindow.open(map, marker);
});
})(marker, data);
});
}
</script>
你已经正确地实现了关闭,但是在错误的地方
for (var i = 0, length = json.length; i < length; i++) {
var data = json[i],
address = data.address,
unternehmen = data.unternehmen;
(function(unternehmen) {
console.log(unternehmen);
geocoder.geocode( { 'address' : address }, function( results ) {
var marker = new google.maps.Marker( {
map: map,
position: results[0].geometry.location,
title: unternehmen,
animation: google.maps.Animation.DROP
});
//(function(marker, data) {
google.maps.event.addListener(marker, "click", function( e ) {
infoWindow.setContent(unternehmen);
infoWindow.open(map, marker);
});
//})(marker, data);
});
})(unternehmen);
}
JSON 加载了带有标记的 GoogleMap。标记显示正确。但是信息 Window 只显示最后一个标题(unternehmen / company)。是覆盖问题吗?我该如何解决?
<div id="map" style="height:500px;width:100%;"></div>
<script src="https://maps.googleapis.com/maps/api/js!!!######MYKEY########!!!!" type="text/javascript"></script>
<script type="text/javascript">
var map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(50,12),
zoom: 3,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var json = [
{
"unternehmen": "Dresden",
"address": "Dresden, Deutschland"
},
{
"unternehmen": "Frankfurt",
"address": "Frankfurt, Deutschland"
}
]
var infoWindow = new google.maps.InfoWindow();
var geocoder = new google.maps.Geocoder();
for (var i = 0, length = json.length; i < length; i++) {
var data = json[i],
address = data.address,
unternehmen = data.unternehmen;
geocoder.geocode( { 'address' : address }, function( results ) {
var marker = new google.maps.Marker( {
map: map,
position: results[0].geometry.location,
title: unternehmen,
animation: google.maps.Animation.DROP
});
(function(marker, data) {
google.maps.event.addListener(marker, "click", function( e ) {
infoWindow.setContent(unternehmen);
infoWindow.open(map, marker);
});
})(marker, data);
});
}
</script>
你已经正确地实现了关闭,但是在错误的地方
for (var i = 0, length = json.length; i < length; i++) {
var data = json[i],
address = data.address,
unternehmen = data.unternehmen;
(function(unternehmen) {
console.log(unternehmen);
geocoder.geocode( { 'address' : address }, function( results ) {
var marker = new google.maps.Marker( {
map: map,
position: results[0].geometry.location,
title: unternehmen,
animation: google.maps.Animation.DROP
});
//(function(marker, data) {
google.maps.event.addListener(marker, "click", function( e ) {
infoWindow.setContent(unternehmen);
infoWindow.open(map, marker);
});
//})(marker, data);
});
})(unternehmen);
}