2016-07-18 1 views
0

Я бы хотел загрузить более одного файла GeoJSON на Google Maps и создать каждый из них независимо. Я нашел следующий вопрос, но не смог найти решение для работы. interact with geojson layers independently in google maps api v3Независимо взаимодействуйте с более чем одним файлом GeoJson в API Карт Google v3

function initMap() { 

    //Initialize 2 varibles that will take GeoJson files and Load the GeoJson files for each layer 
    var alt1row = new google.maps.Data(); 
    alt1row.loadGeoJson('https://45d0ae3907069179bbd918ae873676bebbe0427a.googledrive.com/host/0B8EzS0XcloQzRFdPeWFIUGVLZlk/ALT_1_ROW.geojson') 

    var alt2row = new google.maps.Data(); 
    alt2row.loadGeoJson('https://45d0ae3907069179bbd918ae873676bebbe0427a.googledrive.com/host/0B8EzS0XcloQzRFdPeWFIUGVLZlk/ALT_2_ROW.geojson'); 


    //Set the style for each layer 
    alt1row.setStyle({ 
     strokeColor: 'red', 
     strokeWeight: .5 
    }); 

    alt2row.setStyle({ 
     strokeColor: 'blue', 
     strokeWeight: .5 
    }); 

    //Set the layers to the map 
    alt1row.setMap(map); 
    alt2row.setMap(map); 

    var map = new google.maps.Map(document.getElementById('map'), { 
     center: {lat: 35.333851, lng: -77.555105}, 
     zoom: 10 
    }); 
    } 
</script> 
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR API KEY&libraries=drawing&callback=initMap" 
async defer></script> 

+0

В чем проблема с решением, опубликованным в [связанном вопросе] (http://stackoverflow.com/questions/24275265/interact-with-geojson-layers-independently-in-google-maps-api-v3) (почему это не дубликат)? – geocodezip

+0

Как вы сказали, «я нашел следующий вопрос, но не смог заставить решение работать». Вы встречаете какое-либо сообщение об ошибке? пожалуйста, изложите свое заявление и обсудите свои проблемы. Тем временем вы можете проверить документацию [как загрузить GeoJSON] (https://developers.google.com/maps/documentation/javascript/datalayer#load_geojson) –

+0

Я не получаю сообщение об ошибке. Отображается карта google, но данные из моих файлов GeoJson не отображаются на карте. Я очень новичок в JS, и это может быть проблемой. –

ответ

1

Я работал над той же проблемой (я должен был цвета полигонов в разных цветах). Я решил, что, обновив мои файлы geojson, добавив свойство color в мои файлы. Я думаю, что код будет более ясно:

GeoJSON файл:

 {"type":"Feature","properties":{ 
    "color":"red"},"geometry":{"type": "MultiPolygon","coordinates":[[[[....]]]] 
    {"type":"Feature","properties":{"color":"red"},"geometry" 
    :{"type": "MultiPolygon","coordinates":[[[[ .... 

моей страница HTML:

 var countries = ['germany','moldova','italy','spain','france']; 


    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 5, 
     mapTypeId: google.maps.MapTypeId.TERRAIN , 
     styles: styles 
    }); 

    for (var country in countries){ 
     map.data.loadGeoJson('http://grp-map.equant.com/GoogleMaps/'+countries[country]+'.geojson'); 
    } 
    map.data.setStyle(function(feature) { 

     var k = feature.getProperty('color'); 
     return { 
      fillColor:k, 
      strokeWeight:1, 
      clickable: false 
     } 
    }); 

Я надеюсь, что это поможет.

Смежные вопросы