Asp.net 从地址获取纬度和经度

Asp.net 从地址获取纬度和经度,asp.net,vb.net,Asp.net,Vb.net,我计划在asp.net web应用程序中使用以下子例程从给定地址(世界上任何地址)获取纬度和经度。例如,在保存供应商详细信息时,系统将显示带有准确纬度和经度的地图 我们计划在我们的网络应用程序中使用谷歌地图。我相信我使用的是谷歌API的第3版,每天的请求限制为2500次 你能告诉我是否有其他有效的方法从任何世界地址获取纬度和经度吗?还有没有任何API没有请求限制,可以与谷歌一起使用 我还需要注册谷歌APIv3吗 代码: Private Sub GetLatLongFromAddress(stre

我计划在asp.net web应用程序中使用以下子例程从给定地址(世界上任何地址)获取纬度和经度。例如,在保存供应商详细信息时,系统将显示带有准确纬度和经度的地图

我们计划在我们的网络应用程序中使用谷歌地图。我相信我使用的是谷歌API的第3版,每天的请求限制为2500次

你能告诉我是否有其他有效的方法从任何世界地址获取纬度和经度吗?还有没有任何API没有请求限制,可以与谷歌一起使用

我还需要注册谷歌APIv3吗

代码:

Private Sub GetLatLongFromAddress(street As String, city As String, zipcode As String, state As String)

    Dim geocoderUri As String = String.Format("http://maps.googleapis.com/maps/api/geocode/xml?address={0},{1},{2},{3}&sensor=false", street, city, zipcode, state)

    Dim geocoderXmlDoc As New XmlDocument()
    geocoderXmlDoc.Load(geocoderUri)

    Dim nsMgr As New XmlNamespaceManager(geocoderXmlDoc.NameTable)
    nsMgr.AddNamespace("geo", "http://www.w3.org/2003/01/geo/wgs84_pos#")

    Dim sLong As String = geocoderXmlDoc.DocumentElement.SelectSingleNode("//geometry/location/lat", nsMgr).InnerText
    Dim sLat As String = geocoderXmlDoc.DocumentElement.SelectSingleNode("//geometry/location/lng", nsMgr).InnerText

    txtLat.Text = sLat
    txtLon.Text = sLong
End Sub

看看你的代码,看起来你在做基本的动作,我不相信你能做得更有效。地理编码是一个密集的过程

要回答您的其他问题:

  • 不,您不需要注册就可以使用API,但建议您注册。 资料来源:

  • 免费许可证限制为每24小时2500次请求。唯一的 解决这一问题的方法是获得一个用于商业的谷歌地图API 许可证,该许可证是付费的,并将限额提高到10万个请求。资料来源:


注:谷歌明确表示,如果不使用地图,您就不能使用地理编码服务。

我认为您必须注册才能使用APIs。是否有免费的API获取纬度和经度?我可以从其他开源API获取地理编码,然后在谷歌地图上显示结果吗?是,通过向API发送lat和lon,可以在地图上放置标记,因此坐标从何处获得并不重要。我发现这个小教程可以做到这一点: