首页 文章

从Google商家信息自动填充API获取纬度和经度

提问于
浏览
1

我正在使用Google商家信息自动填充API,输入用户输入城市的位置,并获取他们要搜索的地点的建议 .

我需要获得 not only 这个地方的名称,但 Latitude and Longitud 的地方然后将谷歌 Map 居中 .

问题是Google Places Autocomplete API只返回 description 的地方但 not the coordinates ,至少我试过了 .

有人知道是否有办法在 same 请求中获得Latitud&Longitud?

很多 thanks 对任何帮助:')

1 回答

  • 1

    您正在寻找的所有信息都可以在Place Result中找到 . 这就是您的代码的样子:

    var input        = document.getElementById("address");
    var autocomplete = new google.maps.places.Autocomplete(input, {types: ["geocode"]});
    
    autocomplete.addListener("place_changed", function() {
        var placeResult = autocomplete.getPlace();
        var name        = placeResult.name;
    
        // The selected place's position
        var location    = placeResult.geometry.location;
    
        // The preferred viewport when displaying this Place on a map. 
        // This property will be null if the preferred viewport for the Place is not known.
        var viewport    = placeResult.geometry.viewport;
    
        // This is assuming your google map is saved in a variable called myMap
        if (viewport) {
           myMap.fitBounds(viewport)
        }
        else if (location) {
           myMap.setCenter(location)
        }
    });
    

    我最近创建了一个jQuery plugin,这使得与Google Map 自动完成功能的交互变得轻而易举 . 这将是每次选择地点时居中 Map 的代码:

    $("#address").geocomplete({
        map: myMap
    });
    

    该插件还允许您自动填充地址表单,添加自定义样式,提供回调和修复烦人的scrolling issue .

相关问题