通过AJAX替换Google地图上的long / lat

时间:2016-06-03 16:21:25

标签: javascript jquery ajax google-maps google-maps-api-3

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

包含经度数和纬度数的变量返回如下:data.mondayLat&通过AJAX的成功功能data.mondayLong。我尝试用00.0000000替换默认地图设置data.mondayLat,但这不起作用。如何让这些变量不断替换map函数中的默认数字,并在每次通过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>

1 个答案:

答案 0 :(得分:1)

您的AJAX请求是异步的。获得结果后,调用AJAX成功函数中的retrofitService.login(new SignInRequest(email, password), new MyCallback<SignInResponse>() { @Override public void onResponse(Call<SignInResponse> call, Response<SignInResponse> response) { super(call, response); //do more on response } @Override public void onFailure(Call<SignInResponse> call, Throwable t) { super(call, error); /* Do more on failure. For example: give a reason why the request failed*/ } }); 例程(initMapdata.mondayLat存在)。