0

*您好,我是新来的整个谷歌地图API的环境所以请不要一起指导我。定制谷歌地图有多个标记和信息窗口

什么,我想下面来实现的是,无论是从XML文件或JSON文件中提取数据,并绘制到谷歌地图的位置。我也试图添加一个信息窗口,它将显示每个位置的不同信息。我知道有一个信息窗口,我必须创建一个over lay。但问题是我如何实际标记多个信息窗口到他们的标记?

所有标记在地图上显示的很好,但问题是,当我点击查看信息窗口 - 始终显示在相同的标记信息的窗口。有什么问题?

这就是我与迄今走过来,如果有人能够发现的问题我将不胜感激。

<!DOCTYPE html> 
<html> 
    <head> 
    <style> 
     html, body, #map_canvas { margin: 0; padding: 0; height: 100%; } 
    </style> 
    <script 
     src="https://maps.googleapis.com/maps/api/js sensor=false&libraries=visualization"> 
    </script> 

    <script> 
    var map; 
    function initialize() { 
    var mapOptions = { 
    zoom: 5, 
    center: new google.maps.LatLng(-27.48939, 153.012772), 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    map = new google.maps.Map(document.getElementById('map_canvas'), 
    mapOptions); 


    var script = document.createElement('script'); 
    script.src = 'http://earthquake.usgs.gov/earthquakes/feed/geojsonp/2.5/week'; 
    document.getElementsByTagName('head')[0].appendChild(script); 
} 

    window.eqfeed_callback = function(results) { 
    for (var i = 0; i < results.features.length; i++) { 


    var earthquake = results.features[i]; 
    var coords = earthquake.geometry.coordinates; 

    var latLng = new google.maps.LatLng(coords[1],coords[0]); 

    var marker = new google.maps.Marker({ 
     position: latLng, 
     map: map, 

    }); 

    var infowindow = new google.maps.InfoWindow({ 
    content: "<div>Hello! World</div>", 
    maxWidth:100 
    }); 

    google.maps.event.addListener(marker, "mouseover", function() { 
    infowindow.open(map, marker); 
}); 

    } 
} 

    </script> 
    </head> 
    <body onload="initialize()"> 
    <div id="map_canvas"></div> 
    </body> 

    </html> 
+0

有没有问题?如果没有,http://codereview.stackexchange.com将是一个更好的地方发布这个。的 –

+0

可能重复[谷歌地图JS API V3 - 简单多个标记示例](http://stackoverflow.com/questions/3059044/google-maps-js-api-v3-simple-multiple-marker-example) – geocodezip

回答

1

使用如此代替标记,打开信息窗口时。

google.maps.event.addListener(marker, "mouseover", function() { 
     infowindow.open(map, this); 
    }); 
+0

嘿卢卡斯感谢您的建议。只是为了与您核对,我的内容将从现在起将从何处拉开?如果我想从XML或JSON之类的外部来源获取内容,我应该怎么做? – user2691544

+0

一切都保持原样。你可以像你以前那样做。 –

+0

嗯。在这种情况下,它似乎没有工作。信息窗口功能消失了。 – user2691544