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));
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果您的LatLng位于海边(或者如果您使用的是另一个Zoomlevel而不是提供的例子),您如何确保您的标记不会被放置在海上?是否有一个标志,我可以用它来测试随机点的潜在LatLng是在海里还是陆地?
提前Txs.
休伯特