Javascript 谷歌地图的外部API数据

Javascript 谷歌地图的外部API数据,javascript,jquery,ajax,google-maps,google-maps-api-3,Javascript,Jquery,Ajax,Google Maps,Google Maps Api 3,我正在尝试使用外部API的数据在谷歌地图上创建一个多边形 API响应给出了以下内容: { "id": 28, "name": "Local spots", "description": "", "isprivate": true, "status": "active", "created_at": "2014-09-15T09:40:01.747Z", "geographic_extent": { "type": "Polygon", "coordinates": [

我正在尝试使用外部API的数据在谷歌地图上创建一个多边形

API响应给出了以下内容:

{
"id": 28,
"name": "Local spots",
"description": "",
"isprivate": true,
"status": "active",
"created_at": "2014-09-15T09:40:01.747Z",
"geographic_extent": {
    "type": "Polygon",
    "coordinates": [
        [
            [-0.508, 51.682],
            [-0.53, 51.327],
            [0.225, 51.323],
            [0.167, 51.667],
            [-0.508, 51.682]
        ]
    ]
}, 
如何提取地理范围坐标,并在谷歌地图上将其渲染为多边形我知道它应该是AJAX,但是get会返回整个数组吗

非常感谢你的帮助

谢谢

用于生成地图的脚本 var映射

    function initMap() {
            map = new google.maps.Map(document.getElementById('map'), {
            zoom: 2,
            center: new google.maps.LatLng(2.8,-187.3),
        });
    }

要从接收到的ajax响应中提取“geographic_extent”节点,可以使用JSON.parse函数。e、 g

var result = JSON.parse('{"id": 28,"name": "Local spots","description": "","isprivate": true,"status": "active","created_at": "2014-09-15T09:40:01.747Z","geographic_extent": {"type": "Polygon",    "coordinates": [[[-0.508, 51.682],[-0.53, 51.327],[0.225, 51.323],[0.167, 51.667],[-0.508, 51.682]]]}');
现在你可以

-0.508,51.682,-0.53,51.327,0.225,51.323,0.167,51.667,-0.508,51.682

要将其打印为多边形,请使用以下代码

var triangleCoords = [
          {lat: 25.774, lng: -80.190},
          {lat: 18.466, lng: -66.118},
          {lat: 32.321, lng: -64.757},
          {lat: 25.774, lng: -80.190}
        ];


        var bermudaTriangle = new google.maps.Polygon({
          paths: triangleCoords,
          strokeColor: '#FF0000',
          strokeOpacity: 0.8,
          strokeWeight: 2,
          fillColor: '#FF0000',
          fillOpacity: 0.35
        });
        bermudaTriangle.setMap(map);
请注意三角形坐标系的定义方式,它是一个lat,lng对象数组。如果要绘制从ajax请求接收的多边形,需要将其放入类似的lat、lng对象数组中

var triangleCoords = [
          {lat: 25.774, lng: -80.190},
          {lat: 18.466, lng: -66.118},
          {lat: 32.321, lng: -64.757},
          {lat: 25.774, lng: -80.190}
        ];


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