gpt4 book ai didi

javascript - Google map - 获取英国各县的坐标

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

我想知道是否有人可以建议我如何获取英国各县的坐标,以便能够使用谷歌地图 API 将多边形添加到谷歌地图?

我已经考虑过使用 https://nominatim.openstreetmap.org/details.php?place_id=198164455检索 OSM 关系以便能够使用 http://polygons.openstreetmap.fr/

例如:莱斯特郡 OSM = 189890

http://polygons.openstreetmap.fr/index.py?id=189890

我已经使用了该区域的坐标,但我认为这些坐标是不正确的,因为多边形出现在海中央而不是县上方。

任何人都可以告诉我如何获取英国各县的坐标以便能够添加多边形吗?我不确定是否有任何工具可以为您生成这些?

我的代码:(var leicestershire 应该有该县的坐标)

function initialize() {

var pin = new google.maps.LatLng(52.374490, -0.713289);

var map = new google.maps.Map(document.getElementById('map-canvas'), {
zoom: 5,
//minZoom: 15,
//maxZoom: 15,
center: pin,
mapTypeId: google.maps.MapTypeId.ROADMAP,
overviewMapControl:true,
mapTypeControl:false,
zoomControl: true,
streetViewControl: false,
draggable: true
});
var marker = new google.maps.Marker({
position: pin,
map: map
});

var leicestershire = [];
var leicestershirePoly = [];


leicestershire.forEach(function(coordinate) {
var latlng = coordinate.split(",");


var lat = parseFloat(latlng[0]);
var lng = parseFloat(latlng[1]);

if(!isNaN(lat) && !isNaN(lng)) {
leicestershirePoly.push({lat: lat, lng: lng});
}else{
console.log(coordinate);
}
});


var leicesterRegion = new google.maps.Polygon({
paths: leicestershirePoly,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
leicesterRegion.setMap(map);

}

google.maps.event.addDomListener(window, 'load', initialize);

最佳答案

莱斯特郡在 Google map 中解析为 52.772571, -1.2052126。示例多边形中的第一行坐标是 -1.5975472, 52.7004047 显然,纬度和经度是倒置的。

forEach 循环中,替换

var lat = parseFloat(latlng[0]);
var lng = parseFloat(latlng[1]);

var lat = parseFloat(latlng[1]);
var lng = parseFloat(latlng[0]);

如果您的其余代码正常工作,这应该足以解决问题。

关于javascript - Google map - 获取英国各县的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52482127/

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