【问题标题】:Replace long/lat on Google maps via AJAX通过 AJAX 在 Google 地图上替换 long/lat
【发布时间】:2016-10-03 19:21:16
【问题描述】:

我在我的网站上实施了来自 Google 地图的地图脚本。我想做的是用我通过 AJAX 从 API 获取的数字替换纬度和经度数字(latlng)。

包含经度数和纬度数的变量通过 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


【解决方案1】:

您的 AJAX 请求是异步的。获得结果后(data.mondayLatdata.mondayLong 存在)调用 AJAX 成功函数中的 initMap 例程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 2018-01-23
    相关资源
    最近更新 更多