gpt4 book ai didi

google-maps - 如何在 map 上添加随机标记,但要避开大海?

转载 作者:行者123 更新时间:2023-12-01 01:21:42 33 4
gpt4 key购买 nike

Google Ajax API游乐场(http://code.google.com/apis/ajax/playground/?exp=maps#map_markers)提供了一个很好的示例,可以向任何地图添加随机标记:

function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(37.4419, -122.1419), 9);

// Add 10 markers to the map at random locations
var bounds = map.getBounds();
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
var lngSpan = northEast.lng() - southWest.lng();
var latSpan = northEast.lat() - southWest.lat();
for (var i = 0; i < 10; i++) {
var point = new GLatLng(southWest.lat() + latSpan * Math.random(),
southWest.lng() + lngSpan * Math.random());
map.addOverlay(new GMarker(point));
}
}
}


但是,如果您的LatLng靠近大海(或者您使用的缩放级别不是提供的示例),如何确保您的标记不会放在海上?我是否可以使用一个标志来测试随机点的潜在LatLng是在海上还是在陆地上?

提前发送。

休伯特

最佳答案

一种可能性是为您生成的每个点发送reverse geocode request。超过水的点数将返回状态代码“ G_GEO_UNKNOWN_ADDRESS”(602)。但是,您需要对其进行彻底的测试以确保它可以正常工作。陆地上的一些位置可能会因为未知而返回。

关于google-maps - 如何在 map 上添加随机标记,但要避开大海?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/990148/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com