需要反转动态地理位置坐标以与geoJson脚本一起使用

时间:2013-07-23 18:36:24

标签: php geocoding custom-post-type

我在Wordpress中使用自定义的post-type插件。我添加了地理位置图扩展,以便在后端,客户端可以输入物理地址,它将输出地理坐标。这可以正常工作,直到我使用geoJson函数放置标记。

以下是放置标记的脚本。

var geoJson = [{
type: 'Feature',
"geometry": { "type": "Point", "coordinates": [-97.325741, 32.7423499]},
"properties": {
    "image": "",
    "url": "http://google.com",
    "marker-symbol": "commercial",
    "marker-color": "#ff793d",
    "marker-size": "large"
}
}];

自定义字段应该像这样:

"geometry": { "type": "Point", "coordinates": [<php? the_field('map_address'); ?>]},

但是,输出的坐标是相反顺序,而不是它们需要的功能。它们对于我动态使用它们的其他区域是正确的,但如果可能的话,需要知道如何交换它们在这里输出的顺序。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

根据GeoJSON Format Specification

  

点坐标为x,y顺序(东经,北向为投影坐标,经度,纬度为地理坐标)

这意味着您希望您的坐标与您的坐标切换。

"geometry": { "type": "Point", "coordinates": [32.7423499, -97.325741]}

答案 1 :(得分:0)

仅供参考,我使用以下脚本修复了它。 geoJson规范确实说坐标应该被格式化为X,Y到处都是,但对于单个标记的“几何”坐标似乎不是这种情况。当坐标为Y,X时,我的所有标记都显示在它们应该的位置(仅用于标记坐标 - setView坐标仍为X,Y)。

<?php
$address = get_field('map_address');
$x = strtok($address, ',');
$y = strstr($address, ",");
$y = str_replace(",", "", $y);
?>

然后用,

调用坐标
"geometry": { "type": "Point", "coordinates": [<?php echo $y.",".$x; ?>]}

它有效!