我期待着#34;突出显示"丹麦的一个地区/特定地区,完全like it's seen here:
我已经知道可以通过在地图上绘制大量多边形来绘制填充(或描边),示例:
var bermudaTriangleCoords = [
new google.maps.LatLng(25.774252, -80.190262),
new google.maps.LatLng(18.466465, -66.118292),
new google.maps.LatLng(32.321384, -64.757370),
new google.maps.LatLng(25.774252, -80.190262)
];
var bermudaTriangle = new google.maps.Polygon({
paths: bermudaTriangleCoords,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
如何像上面的初始链接一样绘制精确的填充?我可以以某种方式获得上面填充的经度和纬度坐标吗?或者我可以在哪里绘制并获取坐标?
答案 0 :(得分:0)
您无法从引用的Google地图链接中获取坐标。多边形(让我们称之为边界)是谷歌地图应用程序的一部分,但没有API调用来检索它。
对于某些国家/地区,此类数据可用作geojson文件或shapefile。例如,US Census organisation为美国各州提供此类数据,英国已经进行了条例调查"也提供此类数据的组织,但不是免费的,也有一些商业组织(例如here他们有丹麦的邮政编码边界,但我似乎无法找到丹麦地区)。所以这是我给你的第一个建议,试着寻找类似的东西:"丹麦地区边界shapefile" (如果你懂丹麦语,试试丹麦语,你可能会找到一些我无法做到的网站)。获得shapefile后,您可以使用一些转换器(例如mapshaper)将其转换为geojson
格式,然后在地图上加载多边形(here是一个关于如何加载的示例世界国家geojson到你的地图。你可以只加载一个国家/地区,如果你的geojson只包含坐标那么)
或者,您可以创建自己的非常简单的应用程序,它允许您在地图上绘制,然后将坐标打印到控制台。我为您创建了一个简单的应用程序,尝试在本地运行它。加载后,只需单击地图上的任意位置即可开始绘制多边形,一旦创建它,请观看javascript控制台以输出坐标。然后,您可以在bermudaTriangleCoords
)中使用坐标:
function init() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 8,
center: new google.maps.LatLng(55.697683, 11.59711)
});
var drawing_manager = new google.maps.drawing.DrawingManager({
map: map,
drawingMode: google.maps.drawing.OverlayType.POLYGON
});
google.maps.event.addListener(drawing_manager, 'polygoncomplete', function(polygon) {
console.log("Polygon vertices coordinates following:");
polygon.getPath().forEach(function(el){
console.log(el.toString());
});
});
}

<script src="http://maps.google.com/maps/api/js?sensor=false&libraries=drawing&dummy=.js"></script>
<body style="margin:0px; padding:0px;" onload="init()">
<div id="map" style="height:400px; width:500px;"></div>
</body>
&#13;
答案 1 :(得分:0)
我使用此工具绘制kml点,然后我将用上面示例中的点替换点。您可以将kml设置更改为javascript,然后只需复制坐标。 http://www.birdtheme.org/useful/v3tool.html
这非常有用,希望它可以帮到你。