Загрузка MULTIPOLYGON в openlayer 3 с помощью OL3-Google-Maps

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

посмотрите код:

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

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


person Camilo Pérez    schedule 25.10.2016    source источник


Ответы (2)


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

person Alexandre Dubé    schedule 25.10.2016

Теперь для этого есть запрос на вытягивание по адресу: https://github.com/mapgears/ol3-google-maps/pull/180

person Richard Greenwood    schedule 03.11.2017