2015-01-07 19 views
5

Khi tải tệp geoJSON vào Google Map dưới dạng lớp dữ liệu, làm cách nào để truy cập các thuộc tính của lớp dữ liệu?Lấy các thuộc tính của lớp dữ liệu GeoJSON trong Google Maps V3

Tôi biết cách access the individual properties, như posts_here trong ví dụ bên dưới. Những gì tôi đang tìm kiếm để có được là các thuộc tính cho lớp đó - trong ví dụ này, maxPosts.

$.getJSON("http://example.com/posts/grid.json" + location.search, function (data) { 
     grid = map_canvas.data.addGeoJson(data); 
     map_canvas.data.setStyle(function(feature) { 
     return /** @type {google.maps.Data.StyleOptions} */({ 
      strokeWeight: Math.log(feature.getProperty('posts_here')), 
     }); 
    }) 
}); 

Ví dụ về grid.json Tôi tải:

{ 
    "type": "FeatureCollection", 
    "features": [ 
     { 
      "type": "Feature", 
      "geometry": { 
       "type": "Polygon", 
       "coordinates": [ 
        [ 
         [-58,-35], 
         [-58,-34], 
         [-57,-34], 
         [-57,-35], 
         [-58,-35] 
        ] 
       ] 
      }, 
      "properties": { 
       "posts_here": "177" 
      } 
     } 
    ], 
    "properties": { 
     "maxPosts": "177" 
    } 
} 

Trả lời

4

API chỉ phân tích cú pháp features -ảnh của một đối tượng FeatureCollection, khi bạn muốn truy cập các thuộc tính bổ sung, bạn phải tự thực hiện nó.

Dựa trên mã cho nó không phức tạp, bởi vì GeoJSON có thể truy cập như đối tượng qua data bên trong $.getJSON -callback, bạn chỉ có thể truy cập vào bất động sản qua

data.properties.maxPosts 
+0

Bạn đã có nó. Bài học để tự: console.log() mọi thứ. – schnauss

Các vấn đề liên quan