如何使用javascript和谷歌地图更改地图中的位置
How can I change the location in a map using javascript and google maps?
我正试图使用每个循环来更改地图的中心,以前往不同的地方,但是当我执行代码时,地图不会显示所有位置,而是显示第一个和最后一个位置,如果你能帮我解决这个问题,我将不胜感激。
这是代码:
var a = new google.maps.LatLng(8.8013, -74.72538);
var b = new google.maps.LatLng(1.0619, -73.2558);
var c = new google.maps.LatLng(12.5872, -81.7025);
var d = new google.maps.LatLng(3.2719, -73.0877);
var locations = new Array(a, b, c, d);
var mapProp = {
center: new google.maps.LatLng(5.0619, -70.2558),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
function initialize() {
goToLocations(locations);
}
google.maps.event.addDomListener(window, 'load', initialize);
function goToLocations(locations) {
$.each(locations, function (index, location) {
goToLocation(location);
});
}
function goToLocation(location) {
// here I can not see all locations
window.setTimeout(map.setCenter(location), 5000);
}
<html>
<body>
<script src="http://maps.google.com/maps/api/js?sensor=true" type="text/javascript"> </script>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<h1>Map that go to different locations </h1>
<div id="googleMap" style="width: 500px; height: 380px"></div>
</body>
</html>
您的function
运行良好,它实际上显示了array
上的所有城市。但是,我们看不到它。function
执行得太快了,我们只能看到第一个和最后一个。
尝试在$.each
函数中放入一个Timeout
,它就会工作:
$.each(locations, function (index, location) {
window.setTimeout(function(){
goToLocation(location);
}, 1000);
});
相关文章:
- PHP谷歌地图-位置红色气球没有显示
- Bing地图图钉宽度设置会将图钉从地图位置移开
- 谷歌地图位置自动完成被jQuery Mobile弹出窗口阻止
- 地图位置带有照片和其他详细信息的详细信息
- 将显示为 XML 格式的 Google 地图位置转换为输出 (ASP.Net、C#)
- 具有常规位置类型的谷歌地图位置构造函数
- 如何使用自己的地址/坐标生成指向 Google 地图位置的准确链接?有没有这方面的API
- 谷歌地图API:将标记放在当前地图位置
- 返回我之前指定的谷歌地图位置列表
- 将地图位置信息从PHP传递到javascript,以便与Google地图v3api一起使用
- 谷歌地图V3保存用户使用拖放后的地图位置;滴
- Jquery谷歌地图位置-获取选择选项
- 更新基于gps坐标的谷歌地图位置
- ArcGIS初始地图位置
- 谷歌地图位置搜索框:如何重新计算pac-container的位置
- 使用jquery移动显示地图位置,使用经度和纬度
- 谷歌地图位置API地址自动完成和显示选择的结果
- 点击按钮时更新地图位置
- 触发谷歌地图位置信息窗口
- MapsApi -谷歌地图位置服务给出一个奇怪的错误