如何在用户位置上制作地图中心

Posted

技术标签:

【中文标题】如何在用户位置上制作地图中心【英文标题】:How To Make a Map Center on User's Location 【发布时间】:2012-06-16 20:26:57 【问题描述】:

如何在客户端当前位置做地图中心,但如果当前位置无法确定,则默认为下面的LatLng。

var myOptions = 
  center: new google.maps.LatLng(12.659493, 79.415412),
  zoom: 12,
  scrollwheel: false,
  mapTypeId: google.maps.MapTypeId.ROADMAP

【问题讨论】:

【参考方案1】:

您可以为此目的使用 html 5 地理定位功能。它很接近,但不是非常精确。

Demo

  var map;

  function initialize() 
    if(navigator.geolocation) 
      success = function(position) 
        createMap(position.coords.latitude, position.coords.longitude);
      ;
      error = function()  createMap(12.659493, 79.415412); 

      navigator.geolocation.getCurrentPosition(success, error);
    
    else 
      createMap(12.659493, 79.415412);
    
  

  function createMap(lat, lng) 
    var mapOptions =  center: new google.maps.LatLng(lat, lng), 
      zoom: 12,
      scrollwheel: false,
      mapTypeId: google.maps.MapTypeId.ROADMAP ;
    map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
  

【讨论】:

工作就像一个魅力......谢谢!

以上是关于如何在用户位置上制作地图中心的主要内容,如果未能解决你的问题,请参考以下文章

MKUserTrackingButton - 如何在不缩小的情况下获取用户位置的中心地图?

打开地图屏幕时,如何将 MapView 以用户当前位置为中心?反应原生博览会

如何在谷歌地图的屏幕中心设置标记

如何使“地图上的中心位置”起作用?

如何防止在圆圈中心发生变化时创建新圆圈。 (谷歌地图 API)

考虑到视图位于其之上,如何专注于谷歌地图上的位置?