繁体   English   中英

ajax收到数据后如何加载地图?

[英]How to load the map after the ajax received the data?

     jQuery.ajax({
      url: window.location.href,
      type: "POST",
      dataType: 'json',
      success: function (res) {
        data = res;
        google.maps.event.addDomListener(window, 'load', speedTest.init);
      },
       error: function(serverResp) {            // on ajax failure
      console.log('5xx http status code or unexpected response content');
  }
  });

我的代码如上,如果我将“ google.maps.event.addDomListener(window, 'load', speedTest.init); ”放在“成功: ”之外,则加载地图时数据为空的可能性很高,但是当我将其放入“成功: ”时,地图将无法加载。 那么我应该怎么处理这个问题呢?

此代码初始化地图并在地图上设置一个标记,该标记的位置来自 ajax:

success: function (result) {
                var json = eval('(' + result + ')');
                var map = new google.maps.Map(document.getElementById('map'), {
                    zoom: 10,
                    center: new google.maps.LatLng(31.320, 48.647),
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                });
                var myMarker = new google.maps.Marker({
                    position: new google.maps.LatLng(json.items[0].lat, json.items[0].lng),
                    draggable: true
                });

                google.maps.event.addListener(myMarker, 'dragend', function (evt) {
                    document.getElementById('current').innerHTML = '<p> Current Lat: ' + evt.latLng.lat().toFixed(6) + ' Current Lng: ' + evt.latLng.lng().toFixed(6) + '</p>';
                });

                    google.maps.event.addListener(myMarker, 'dragstart', function (evt) {
                        document.getElementById('current').innerHTML = '<p>Marker Dragging...</p>';
                    });

                    map.setCenter(myMarker.position);
                    map.setZoom(13);
                    myMarker.setMap(map);
                }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM