Javascript 如何使用HTML5地理定位或谷歌API获取地址经度?

Javascript 如何使用HTML5地理定位或谷歌API获取地址经度?,javascript,html,geolocation,latitude-longitude,Javascript,Html,Geolocation,Latitude Longitude,我对一个问题感到困惑,那就是,我可以从Facebook上获取用户的位置,我所需要的只是获取该位置的纬度和经度,但我仍然找不到解决方案 如果我能使用HTML5地理定位或任何谷歌API获得纬度和经度,这将有所帮助。解决方案是什么?查看免费的开源地理服务 每个人都会告诉你使用谷歌地图API,但请阅读 (g) 没有谷歌地图就不能使用内容。你不能使用或 显示内容时不显示相应的谷歌地图,除非您 在地图API文档中明确允许这样做,或 通过谷歌的书面许可。在任何情况下,您都不得使用 或者在非谷歌地图上或与非谷歌

我对一个问题感到困惑,那就是,我可以从Facebook上获取用户的位置,我所需要的只是获取该位置的纬度和经度,但我仍然找不到解决方案

如果我能使用HTML5地理定位或任何谷歌API获得纬度和经度,这将有所帮助。解决方案是什么?

查看免费的开源地理服务

每个人都会告诉你使用谷歌地图API,但请阅读

(g) 没有谷歌地图就不能使用内容。你不能使用或 显示内容时不显示相应的谷歌地图,除非您 在地图API文档中明确允许这样做,或 通过谷歌的书面许可。在任何情况下,您都不得使用 或者在非谷歌地图上或与非谷歌地图一起显示内容。对于 例如,您不能使用通过中的服务获得的地理代码 与非谷歌地图连接。再举一个例子,你不能 在非谷歌地图旁边显示街景图像,但您可以 显示街景图像而不显示相应的谷歌地图,因为 Maps API文档明确允许您这样做

因此,使用谷歌API时,您必须使用谷歌地图。所以,如果你需要一张地图,你就可以了

如果我可以使用HTML5地理定位获得纬度和经度,这将有所帮助

好吧,那就这么做吧——你到底有什么问题

这就是问题所在

请在此处阅读有关地理定位API的更多信息

  • (免责声明:我的文章)
  • (规范)
我在Flyleaf工作,我们还提供了一个API来获取地址坐标;它叫

正如巴特提到的,谷歌的TOS不允许你在不显示谷歌地图的情况下进行地理编码,更重要的是你不能存储结果。如果你想按照你的建议找到一个地址,我推荐一些类似LiveAddress的东西,它实际上也会验证地址的有效性——这些其他API和HTML5不会这样做

希望你能找到适合你的东西。现在的问题有点模糊,但也许这会有所帮助。可能是这样的():


我发现最好的选择是通过他们拥有的子项目()API直接使用

示例调用:


请注意,虽然他们的服务条款允许从浏览器JavaScript直接使用客户端,但他们不希望大量使用,并建议使用您的服务器作为代理添加缓存,以便轻松切换。数据可供下载,并提供了设置本地可查询数据数据库的说明。

SmartyStreets是仅限美国还是您也支持欧洲?API无法找到我在荷兰的地址。它仅限于美国,但它在美国地址方面非常出色。:)对于国际情况,我们建议通过LiveAddress或您选择的其他API向我们发送地址,但要知道大多数API实际上不会验证国际地址的可交付性/有效性。@flyleaf SmartyStreets现在进行国际地址验证,谢谢。一直在寻找一个很好的免费查找,因为获取lat&long非常容易:)在哪里调用successFunction()? if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(successFunction, errorFunction); } else { alert('It seems like Geolocation, which is required for this page, is not enabled in your browser. Please use a browser which supports it.'); }

function successFunction(position) {
    var lat = position.coords.latitude;
    var long = position.coords.longitude;
    console.log('Your latitude is :'+lat+' and longitude is '+long);
}
LiveAddress.geocode(address, function(geo) {
    alert("The address is at: " + geo.coords);
});