如何将ajax结果传递给谷歌地图

Posted

技术标签:

【中文标题】如何将ajax结果传递给谷歌地图【英文标题】:How to pass the ajax result to google maps 【发布时间】:2012-09-18 00:30:58 【问题描述】:

我正在使用此代码获取当前位置的经纬度。

<script>
var x=document.getElementById("demo");
function getLocation()
  
  if (navigator.geolocation)
    
    navigator.geolocation.getCurrentPosition(showPosition);
    
  elsex.innerhtml="Geolocation is not supported by this browser.";
  
function showPosition(position)
  
  x.innerHTML="Latitude: " + position.coords.latitude + 
  "<br>Longitude: " + position.coords.longitude;    
  
</script>

我需要将此 ajax 代码中的经度和纬度传递给谷歌地图的 LatLng 变量,如何做到这一点。

这是我正在使用的谷歌地图 api 代码

    function initialize() 
  var latlng = new google.maps.LatLng(52.000,17.1100);
    var myOptions = 
      zoom: 12,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    ;

谁能帮帮我..提前谢谢:)

【问题讨论】:

【参考方案1】:
function showPosition(position)

    x.innerHTML="Latitude: " + position.coords.latitude + "<br />Longitude: " + position.coords.longitude;
    initialize(position);


function initialize(position) 
    var latlng = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
    var myOptions = 
    zoom: 12,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
;

【讨论】:

【参考方案2】:

如果你已经初始化了地图,你可以在获取位置后将其居中:

map.setCenter(new google.maps.LatLng(position.coords.latitude,position.coords.longitude));

【讨论】:

【参考方案3】:

这应该只是传递您已经检索到的经纬度的情况:

function showPosition(position)

 var latlng = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
 var myOptions = 
  zoom: 12,
  center: latlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
 ;


【讨论】:

【参考方案4】:

与您当前的方式相同,但传入 position.coords.latitudeposition.coords.longitude 而不是 52.00017.1100

var latlng = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);

【讨论】:

以上是关于如何将ajax结果传递给谷歌地图的主要内容,如果未能解决你的问题,请参考以下文章

谷歌地图显示错误 Api 项目未授权

如何在几分钟内进入谷歌搜索结果?

我已经制作了一个使用谷歌地图的应用程序我现在可以加载到谷歌播放而不破坏版权?

移动地图时,在谷歌地图中更新Ajax Json数组中的标记

谷歌地图标记不通过ajax动态显示

谷歌地图放置自动完成加载事件