首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >你能根据地址做一张地图吗?

你能根据地址做一张地图吗?
EN

Stack Overflow用户
提问于 2022-01-18 00:53:42
回答 1查看 89关注 0票数 0

我试图制作一个程序,创建一个基于用户输入的地址的谷歌地图。由于我不能手动嵌入每个页面的链接,所以当用户用地址回答表单时,我可以获取该地址并绘制google地图。我必须把地址转换成经纬度,然后再这样做吗?

EN

回答 1

Stack Overflow用户

发布于 2022-01-18 02:26:30

关于Google地图javascript,您需要纬度(lat)和经度(lng)在地图上放置一个标记。要找到入口的lat和lng,您需要地理编码服务。

地理编码是将地址(如“1600AmphitheaParkway,山景城,CA")转换为地理坐标(如纬度37.423021和经度-122.083739)的过程,您可以使用这些坐标在地图上放置标记或定位地图。

它存在大量的地理编码服务,提供了一个。首先,您需要激活acount中的Geocoding (请参阅文档中的此页 )。

通过使用地理编码API

要找到一个入口(例如:“1600AmphitheaParkway,山景城,CA 94043,USA"),它只是一个简单的API请求,如下所示

代码语言:javascript
复制
https://maps.googleapis.com/maps/api/geocode/jsonaddress=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY

您可以从JSON响应中获取lat/lng,并使用它在地图上放置标记。要做到这一点,只需遵循文献资料的指示,您就可以通过执行以下操作来放置标记

代码语言:javascript
复制
let myLatLng = {lat:myLatitude, lng:myLongitude};
new google.maps.Marker({
    position: myLatLng,
    map
});

通过使用Geocoder()

就像@JeremyW说的,您也可以通过使用Google中的Geocoder类来调用地理编码服务(参见这个职位)。

代码语言:javascript
复制
let geocoder = new google.maps.Geocoder();

然后..。

代码语言:javascript
复制
let adress = "1600 Amphitheatre Parkway, Mountain View, CA 94043, USA";
geocoder.geocode( { 'address': address}, function(results, status){
    if(status == google.maps.GeocoderStatus.OK){
        if(status != google.maps.GeocoderStatus.ZERO_RESULTS){      
            let marker = new google.maps.Marker({
                position: results[0].geometry.location,
                map: map
            });
         }
         else{
             console.log("No results found");
         }
    }
    else{
        console.log("Geocode was not successful for the following reason: " + status);
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70749154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档