0

cartodb データベースに geojson をロードしました。そして、CSVファイルもあります。名前フィールドは、GeoJSON ファイルと CSV ファイルの両方で共通です。CSV の場所名が GeoJSON の場所名と一致する場合にのみ、対応するジオメトリを GeoJSON から Google マップに追加するだけのロジックを作成しました。今私の問題は、GeoJSON データが CartoDB データベースにロードされた後に完全に一致することです。しかし、cartodb データベースの GeoJSON からのジオメトリが Google マップに追加されると (CSV の地名が GeoJSON の地名と一致する場合)、Google マップのデータにわずかなシフトがあるように見えます。これは、程度が適切に設定されていなかったことが原因であると思います。Googleマップのデータ私のコードは以下です。

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);

上記のコードでは、オブジェクト データはキー「features」に対して値「feature」を持ちます。価値機能の構造は以下のようになります

4

0 に答える 0