【问题标题】:How to use HTML5 geolocation to give dynamic lat and long values to google maps api?如何使用 HTML5 地理位置为谷歌地图 api 提供动态纬度和经度值?
【发布时间】:2020-02-21 17:44:52
【问题描述】:

我正在尝试从浏览器地理位置动态获取经度和纬度值,并将它们添加到 Google 地图 API 的选项数组中。代码如下:

function initMap(){

if (navigator.geolocation){
    navigator.geolocation.getCurrentPosition(position =>{
        long = position.coords.longitude;
        lat = position.coords.latitude;

        var options = {
            zoom: 12,
            center: {lat: ${lat},${long}}
        }

    var map = new google.maps.Map(document.getElementById('map'), options);
});

}

由于某种原因,选项 > 中心标签不会接受我尝试为 lat 和 long 值添加的变量。还有其他方法可以做到这一点还是我缺少什么?

谢谢!

【问题讨论】:

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


    【解决方案1】:

    这里的用法是错误的。

    改变

    var options = {
                zoom: 12,
                center: {lat: ${lat},${long}}
            }
    

    var options = {
                    zoom: 12,
                    center: { lat: lat, lng: long }
               }
    

    最终代码看起来像...

    function initMap() {
                if (navigator.geolocation) {
                    navigator.geolocation.getCurrentPosition(position => {
                        long = position.coords.longitude;
                        lat = position.coords.latitude;
    
                        var options = {
                            zoom: 12,
                            center: { lat: lat, lng: long }
                        }
    
                        var map = new google.maps.Map(document.getElementById('map'), options);
                    });
    
                }
            }
    

    【讨论】:

    • 现在完美运行,谢谢!我对变量 facepalm 的字符串插值声明感到困惑
    猜你喜欢
    • 2013-10-01
    • 2018-07-26
    • 1970-01-01
    • 2015-09-13
    • 2011-10-27
    • 2019-03-29
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    相关资源
    最近更新 更多