如何在 Yahoo Maps API 中将位置(地址)字符串转换为 YGeoPoint?
我有一个来自数据库的地址列表,我想将其标记在雅虎地图上。 addMarker()
方法 接受一个 YGeoPoint,它需要纬度和经度。 但是,雅虎地图必须知道如何从地址进行转换,因为 drawZoomAndCenter(LocationType,ZoomLevel)
可以采用地址。 我可以使用 drawZoomAndCenter()
然后使用 getCenterLatLon()
进行转换,但是有没有更好的方法,不需要绘图?
I have a list of addresses from a Database for which I'd like to put markers on a Yahoo Map. The addMarker()
method on YMap takes a YGeoPoint, which requires a latitude and longitude. However, Yahoo Maps must know how to convert from addresses because drawZoomAndCenter(LocationType,ZoomLevel)
can take an address. I could convert by using drawZoomAndCenter()
then getCenterLatLon()
but is there a better way, which doesn't require a draw?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用的是美国地址,则可以使用 geocoder.us,其中包含 API。
此外,Google Maps Hacks 有一个 hack, “技巧 62. 查找街道地址的纬度和经度”,为此。
If you're working with U.S. addresses, you can use geocoder.us, which has APIs.
Also, Google Maps Hacks has a hack, "Hack 62. Find the Latitude and Longitude of a Street Address", for that.
您可以要求地图对象执行地理编码,并捕获回调:
需要注意的一件事 - 在此示例中,
drawAndZoom
调用本身会发出地理编码请求,因此您将收到回调也从那开始。 您可能想要过滤掉它,或者根据 GeoPoint 设置地图的中心。You can ask the map object to do the geoCoding, and catch the callback:
One thing to beware of -- in this example the
drawAndZoom
call will itself make a geoCoding request, so you'll get the callback from that too. You might want to filter that out, or set the map's centre based on a GeoPoint.