Google maps 谷歌地图API v3多个可点击标记
我试图在谷歌地图上放置多个标记,但每个标记都指向一个URL。我将所有标记放在一个循环中,但只执行最后一个标记。我希望他们都能工作。 这是我的密码:Google maps 谷歌地图API v3多个可点击标记,google-maps,hyperlink,google-maps-markers,Google Maps,Hyperlink,Google Maps Markers,我试图在谷歌地图上放置多个标记,但每个标记都指向一个URL。我将所有标记放在一个循环中,但只执行最后一个标记。我希望他们都能工作。 这是我的密码: <script type="text/javascript"> function initialize() { var json = [ { "title": "title1",
<script type="text/javascript">
function initialize() {
var json = [
{
"title": "title1",
"lat": 46.077428,
"lng": 18.229837
},
{
"title": "title2",
"lat": 46.042229,
"lng": 18.227134
},
{
"title": "title3",
"lat": 46.082831,
"lng": 18.225911
},
{
"title": "title4",
"lat": 46.092058,
"lng": 18.185645
},
{
"title": "title5",
"lat": 46.075493,
"lng": 18.22885,
"description": "some description to the 5th element",
"url": "http://www.pannon-home.hu/"
},
{
"title": "title6",
"lat": 46.075344,
"lng": 18.227713,
"description": "some description to the 6th element",
"url": "http://www.pannon-home.hu/"
}
]
var latlng = new google.maps.LatLng(46.071325, 18.233185);
var myOptions = {
zoom: 12,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var firstmap = new google.maps.Map(document.getElementById("allmap"),myOptions);
for (var i = 0, length = json.length; i < length; i++) {
var data = json[i],
latLng = new google.maps.LatLng(data.lat, data.lng);
// Creating a marker and putting it on the map
var marker = new google.maps.Marker({
position: latLng,
map: firstmap,
title: data.title,
url: data.url,
icon: 'home.png'
});
}
var infoWindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, "mouseover", function(e) {
infoWindow.setContent(data.description);
infoWindow.open(firstmap, marker);
});
google.maps.event.addListener(marker, "mouseout", function() {
infoWindow.setContent("");
infoWindow.close();
});
google.maps.event.addListener(marker, "click", function() {
location.assign(marker.url);
});
}
</script>
函数初始化(){
var json=[
{
“标题”:“标题1”,
“lat”:46.077428,
“液化天然气”:18.229837
},
{
“标题”:“标题2”,
“lat”:46.042229,
“液化天然气”:18.227134
},
{
“标题”:“标题3”,
“lat”:46.082831,
“液化天然气”:18.225911
},
{
“标题”:“标题4”,
“lat”:46.092058,
“液化天然气”:18.185645
},
{
“标题”:“标题5”,
“lat”:46.075493,
“液化天然气”:18.22885,
“描述”:“对第五元素的一些描述”,
“url”:”http://www.pannon-home.hu/"
},
{
“标题”:“标题6”,
“lat”:46.075344,
“液化天然气”:18.227713,
“描述”:“对第六元素的一些描述”,
“url”:”http://www.pannon-home.hu/"
}
]
var latlng=新的google.maps.latlng(46.07132518.233185);
变量myOptions={
缩放:12,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var firstmap=new google.maps.Map(document.getElementById(“allmap”),myOptions);
for(var i=0,length=json.length;i
创建新的标记对象
和marker.setMap(map) 太多的逻辑位于for循环之外,导致大部分逻辑仅应用于最后一个标记。尝试以下调整:
<script type="text/javascript">
function initialize() {
var json = [
{
"title":"title1",
"lat":46.077428,
"lng":18.229837
},
{
"title":"title2",
"lat":46.042229,
"lng":18.227134
},
{
"title":"title3",
"lat":46.082831,
"lng":18.225911
},
{
"title":"title4",
"lat":46.092058,
"lng":18.185645
},
{
"title":"title5",
"lat":46.075493,
"lng":18.22885,
"description":"some description to the 5th element",
"url":"http://www.pannon-home.hu/"
},
{
"title":"title6",
"lat":46.075344,
"lng":18.227713,
"description":"some description to the 6th element",
"url":"http://www.pannon-home.hu/"
}
]
var latlng = new google.maps.LatLng(46.071325, 18.233185);
var myOptions = {
zoom:12,
center:latlng,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var firstmap = new google.maps.Map(document.getElementById("allmap"), myOptions);
for (var i = 0, length = json.length; i < length; i++) {
var data = json[i],
latLng = new google.maps.LatLng(data.lat, data.lng);
// Creating a marker and putting it on the map
var marker = new google.maps.Marker({
position:latLng,
map:firstmap,
title:data.title,
url:data.url,
icon:'home.png'
});
var infoWindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, "mouseover", function (e) {
infoWindow.setContent(data.description);
infoWindow.open(firstmap, marker);
});
google.maps.event.addListener(marker, "mouseout", function () {
infoWindow.setContent("");
infoWindow.close();
});
google.maps.event.addListener(marker, "click", function () {
location.assign(marker.url);
});
}
}
</script>
函数初始化(){
var json=[
{
“标题”:“标题1”,
“lat”:46.077428,
“液化天然气”:18.229837
},
{
“标题”:“标题2”,
“lat”:46.042229,
“液化天然气”:18.227134
},
{
“标题”:“标题3”,
“lat”:46.082831,
“液化天然气”:18.225911
},
{
“标题”:“标题4”,
“lat”:46.092058,
“液化天然气”:18.185645
},
{
“标题”:“标题5”,
“lat”:46.075493,
“液化天然气”:18.22885,
“描述”:“对第五元素的一些描述”,
“url”:”http://www.pannon-home.hu/"
},
{
“标题”:“标题6”,
“lat”:46.075344,
“液化天然气”:18.227713,
“描述”:“对第六元素的一些描述”,
“url”:”http://www.pannon-home.hu/"
}
]
var latlng=新的google.maps.latlng(46.07132518.233185);
变量myOptions={
缩放:12,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var firstmap=new google.maps.Map(document.getElementById(“allmap”),myOptions);
for(var i=0,length=json.length;i