【发布时间】:2016-10-03 19:21:16
【问题描述】:
我在我的网站上实施了来自 Google 地图的地图脚本。我想做的是用我通过 AJAX 从 API 获取的数字替换纬度和经度数字(lat 和 lng)。
包含经度数和纬度数的变量通过 AJAX 的成功函数返回如下:data.mondayLat & data.mondayLong。我试过用data.mondayLat 替换默认地图设置00.0000000,但这不起作用。如何让这些变量不断替换地图函数中的默认数字,并在每次通过 AJAX 获取数据时更新地图?
<script>
function initMap() {
/* The following variable data I want to replace with the AJAX responde numbers */
var myLatLng = {lat: 00.0000000, lng: 00.0000000};
var map = new google.maps.Map(document.getElementById('googleMap'), {
zoom: 13,
center: myLatLng
});
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: 'Today we are here'
});
}
google.maps.event.addDomListener(window, 'load', initMap);
</script>
<div id="googleMap" style="width:500px;height:380px;float:lefT;margin-left:20px;border:3px solid;"></div>
【问题讨论】:
-
您可以使用新坐标简单地将地图重新居中。 GMaps 的文档中有大量示例。
-
@Marcus 当然,但问题是我有我想要保存在两个变量中的坐标(通过 ajax),但我不知道如何让它们在地图函数中工作
-
您的 AJAX 请求是异步的。获得结果后调用 AJAX 成功函数中的 initMap 例程(data.mondayLat 和 data.mondayLong 存在)。
-
然后发布您的 ajax 调用。您上面的代码在获取和绘制新坐标方面没有任何作用。
-
@geocodezip 我今天有点迟钝之类的。谢谢你。介意将其发布为答案吗?
标签: javascript jquery ajax google-maps google-maps-api-3