我有一个 geojson 加载到 cartodb 数据库中。我也有一个 CSV 文件。名称字段在 GeoJSON 和 CSV 文件中都很常见。如果 CSV 中的地名与 GeoJSON 中的地名匹配,我已经编写了一个逻辑,然后只需将 GeoJSON 中的相应几何图形添加到谷歌地图。现在我的问题是 GeoJSON 数据在加载到 CartoDB 数据库后完全匹配。但是,当将 cartodb 数据库中 GeoJSON 的几何图形添加到谷歌地图时(如果 CSV 的地名与 GeoJSON 的地名匹配),谷歌地图中的数据似乎略有变化。我认为这是由于没有正确设置程度。谷歌地图中的数据我的代码如下。
var data = {
"type": "FeatureCollection",
"features": feature
};
var layer = "toner-lite";
var styles = [
{
featureType: 'water',
elementType: 'geometry',
stylers: [
{hue: '#000000'},
{saturation: 100},
{lightness: -100}
]
}
];
var mapProp = {
center: new google.maps.LatLng(38.75597, -77.974228),
zoom: 4,
disableDefaultUI: true,
zoomControl: true,
zoomControlOptions: {
position: google.maps.ControlPosition.LEFT_TOP
},
mapTypeId: layer,
mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'map_style']
}
};
var styledMap = new google.maps.StyledMapType(styles,
{name: "Styled Map"});
var map = new google.maps.Map(document.getElementById("googlemaps"), mapProp);
var geocoder = new google.maps.Geocoder();
var bounds = new google.maps.LatLngBounds();
map.mapTypes.set('map_style', styledMap);
map.setMapTypeId('map_style');
//map.mapTypes.set(layer, new google.maps.StamenMapType(layer));
map.data.addGeoJson(data);
在上面的代码中,对象数据对于关键“特征”有一个值“特征”。价值特征的结构如下