2016-10-25 16 views
2

Я пытаюсь загрузить многопользовательскую форму на карте SATELLITE, используя OL3-Google-Карты с openlayer 3, но не работает. Когда я использовал простой полигон, он работает. действительно, я не знаю, в чем проблема.Загрузка MULTIPOLYGON в openlayer 3 с OL3-Google-Maps

выглядеть код:

var glSat = new olgm.layer.Google({ 
 
    mapTypeId: google.maps.MapTypeId.SATELLITE 
 
}); 
 

 
var wkt = 'MULTIPOLYGON(((-74.9929726416642 5.18492112724286,-75.0191266345606 5.1848828549929,-75.0191867110875 5.2253515246231,-75.0183316375994 5.22651138628054,-75.0163671630514 5.23378374934167,-75.0142357420755 5.23793700993367,-75.0100693670497 5.23831391909755,-75.0091148838295 5.24549449588018,-75.0106031060614 5.24549228311571,-75.0106009630105 5.24405463549549,-75.0126461088479 5.24251448511432,-75.0116677711593 5.23964974161631,-75.0157986254176 5.23964357493722,-75.0187890089636 5.23691755404967,-75.0192019473326 5.23572481925641,-75.0192261006484 5.25179140082412,-74.9930693552343 5.25183206753317,-74.9929726416642 5.18492112724286)))'; 
 

 
var format = new ol.format.WKT(); 
 

 
var feature = format.readFeature(wkt, { 
 
    dataProjection: 'EPSG:4326', 
 
    featureProjection: 'EPSG:3857' 
 
}); 
 

 
var vectorPolygons = new ol.layer.Vector({ 
 
    source: new ol.source.Vector({ 
 
    features: [feature] 
 
    }) 
 
}); 
 

 

 
// Create a regular OL3 map, containing our Google layer 
 
var map = new ol.Map({ 
 
    target: 'map', 
 
    // use OL3-Google-Maps recommended default interactions 
 
    interactions: olgm.interaction.defaults(), 
 
    layers: [ 
 
    vectorPolygons, glSat 
 
    ], 
 
    view: new ol.View({ 
 
    center: ol.proj.fromLonLat([-74.5981636036184, 6.25468647083332]), 
 
    zoom: 7 
 
    }) 
 
}); 
 

 
// Activate the library 
 
var olGM = new olgm.OLGoogleMaps({ 
 
    map: map 
 
}); 
 
olGM.activate();

если изменить WKT (ниже) он работает:

var wkt = 'POLYGON((-74.9929726416642 5.18492112724286,-75.0191266345606 5.1848828549929,-75.0191867110875 5.2253515246231,-75.0183316375994 5.22651138628054,-75.0163671630514 5.23378374934167,-75.0142357420755 5.23793700993367,-75.0100693670497 5.23831391909755,-75.0091148838295 5.24549449588018,-75.0106031060614 5.24549228311571,-75.0106009630105 5.24405463549549,-75.0126461088479 5.24251448511432,-75.0116677711593 5.23964974161631,-75.0157986254176 5.23964357493722,-75.0187890089636 5.23691755404967,-75.0192019473326 5.23572481925641,-75.0192261006484 5.25179140082412,-74.9930693552343 5.25183206753317,-74.9929726416642 5.18492112724286))';  

Кроме того, если я не» т активным e olgm MAP рисует мультиполигон.

ответ

0

OL3-Google-Maps в настоящее время не поддерживает многомерные геометрии. Смотрите код в ol3gm, который обрабатывает Перекодировку геометрии из OL3 в Google Maps JS API: https://github.com/mapgears/ol3-google-maps/blob/v0.11.2/src/gm/gm.js#L29-L52

Это должно быть добавлено к списку текущих ограничений ol3gm: https://github.com/mapgears/ol3-google-maps/blob/master/LIMITATIONS.md

Я предлагаю вам создать проблемы на ol3gm проекта GitHub, чтобы задокументировать: https://github.com/mapgears/ol3-google-maps/issues/new