我有一个坐标格式如下的数据源。
N642500,W0241600
N660700,W0240000
N652000,W0222700
N660800,W0195500
S645500,E0170800
S644000,E0162200
我不知道这些是什么格式,也不知道如何将它们变成我可以使用的格式。这可以是 JavaScript 或 PHP!
最佳答案
看起来像以度、分、秒 (DMS) 为单位的纬度、经度。参见 http://www.ngs.noaa.gov/PC_PROD/Inv_Fwd/readme.htm用于转化。
通常, map 应用程序会采用十进制形式的纬度和经度,因此您需要将 DMS 转换为十进制(N 为 +,S 为 -)。也就是说,我有点惊讶地发现 Google map 将直接采用 DMS - 请参阅 http://groups.google.com/group/Google-Maps-API/msg/670c54481d91e6b3?pli=1 .所以你甚至不需要转换它。例如:
51 57' 32.48",00 55' 55.23"
http://maps.google.com/maps?f=q&hl=en&q=51++57%27+32.48%22,00+55%27+5...
如果你需要计算它:
function DMS(lat,latm,lats,lon,lonm,lons) {
if (lat<0) {
latm = -latm;
lats = -lats;
}
if (lon<0) {
lonm = -lonm;
lons = -lons;
}
lat = lat + latm/60 + lats/3600;
lon = lon + lonm/60 + lons/3600;
return new GLatLng(lat,lon);
}
map.setCenter( DMS(35,3,39.08, -118,9,2.20));
根据 http://groups.google.com/group/google-maps-api/msg/2e3436f3bf7d6155 .但我认为 API 应该直接接受它。
关于php - 转换坐标可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6086965/