【问题标题】:How to get the user's location from iPhone using Google Maps API v3?如何使用 Google Maps API v3 从 iPhone 获取用户的位置?
【发布时间】:2011-03-19 07:43:06
【问题描述】:

我想在 iPhone 上制作谷歌地图,并在用户第一次打开网站时显示他们的位置。

但我在 Google Maps v3 api 上找不到此方法。所以我认为也许 iPhone 具有执行此操作的功能。是吗?

【问题讨论】:

    标签: javascript iphone google-maps geolocation google-maps-api-3


    【解决方案1】:

    您可能想要使用 iPhone 上的 Safari 支持的W3C Geolocation API

    使用 Geolocation API 中的位置在 Google 地图上绘制一个点,如下所示:

    if (navigator.geolocation) { 
      navigator.geolocation.getCurrentPosition(function(position) {  
    
        var point = new google.maps.LatLng(position.coords.latitude, 
                                           position.coords.longitude);
    
        // Initialize the Google Maps API v3
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 15,
          center: point,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        });
    
        // Place a marker
        new google.maps.Marker({
          position: point,
          map: map
        });
      }); 
    } 
    else {
      alert('W3C Geolocation API is not available');
    } 
    

    确保您的网络文档中包含 Google Maps API v3:

    <script src="http://maps.google.com/maps/api/js?sensor=true" 
            type="text/javascript"></script>
    

    ...并且您有地图画布的占位符:

    <div id="map" style="width: 500px; height: 400px;"></div>
    

    【讨论】:

    • 要补充一点——如果你正在获取用户的位置,那么你需要在加载地图 api 时传递 sensor=true:
    • @Mark:哎呀,你是对的。谷歌真的很强调这一点。修正了我的答案。
    • @Kandhasamy:你有没有给 GPS 时间来解决问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    相关资源
    最近更新 更多