如何在 Yahoo Maps API 中将位置(地址)字符串转换为 YGeoPoint?

发布于 2024-07-04 17:15:46 字数 391 浏览 11 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓝眼睛不忧郁 2024-07-11 17:15:46

如果您使用的是美国地址,则可以使用 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.

×纯※雪 2024-07-11 17:15:46

您可以要求地图对象执行地理编码,并捕获回调:

<script type="text/javascript"> 
var map = new YMap(document.getElementById('map'));
map.drawZoomAndCenter("Algeria", 17);

map.geoCodeAddress("Cambridge, UK");

YEvent.Capture(map, EventsList.onEndGeoCode, function(geoCode) {
    if (geoCode.success)
        map.addOverlay(new YMarker(geoCode.GeoPoint));
});
</script>

需要注意的一件事 - 在此示例中,drawAndZoom 调用本身会发出地理编码请求,因此您将收到回调也从那开始。 您可能想要过滤掉它,或者根据 GeoPoint 设置地图的中心。

You can ask the map object to do the geoCoding, and catch the callback:

<script type="text/javascript"> 
var map = new YMap(document.getElementById('map'));
map.drawZoomAndCenter("Algeria", 17);

map.geoCodeAddress("Cambridge, UK");

YEvent.Capture(map, EventsList.onEndGeoCode, function(geoCode) {
    if (geoCode.success)
        map.addOverlay(new YMarker(geoCode.GeoPoint));
});
</script>

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文