OL3: GetFeature von Schichten, die durch Koordinieren

Möchte ich, um die Funktion der Schicht zu koordinieren.
Darüber hinaus will ich zum öffnen dieser Funktion in einem popup, das ich gelöst haben, die bisher von einem onclick-Ereignis. Aber ich möchte zu verwirklichen, indem Sie die Koordinaten der Funktion und öffnen das popup der featue.

Habe ich eine Ebene mit der Karte und eine Schicht mit den Eigenschaften:

if (trackMap != null) {
  for (var i = 0; i < trackMap.length; i++) {
    var trackInfo = trackMap[i];
    lat = parseFloat(trackInfo.lat);
    lon = parseFloat(trackInfo.lon);

    var layergpx = new ol.layer.Vector({
      source: new ol.source.Vector({
        parser: new ol.parser.GPX(),
        url: '${contextRoot}/gps/gpx2' + trackInfo.url
      })
    });
    layers.push(layergpx);
  }
}

Möchte ich, um die Funktion dieser Schicht in eine andere Javascript-Funktion.

Wie ich, öffnet sich ein pop-up indem Sie auf die Karte:

/**
 * The Click Event to show the data
 */
var element = document.getElementById('popup');
var popup = new ol.Overlay({
      element: element,
      positioning: ol.OverlayPositioning.BOTTOM_CENTER,
      stopEvent: false
});
map.addOverlay(popup);

map.on('singleclick', function(evt) {
  map.getFeatures({
    pixel: evt.getPixel(),
    layers: vectorLayers,
    success: function(layerFeatures) {
      var feature = layerFeatures[0][0];
      if (feature) {
        var geometry = feature.getGeometry();
        var coord = geometry.getCoordinates();
        popup.setPosition(coord);
        $(element).popover({
          'placement': 'top',
          'html': true,
          'content': feature.get('desc')
        });
        $(element).popover('show');
      } else {
        $(element).popover('destroy');
      }
    }
  });
});

Aber ich will dieses feature nicht geöffnet werden durch anklicken auf der Karte, aber bei der Eingabe eine Koordinate in einem textfield und die Karte öffnet sich dieses pop-up, wie Sie in das onclick-Ereignis.

  • Von dem, was verstanden, du möchtest eine Funktion von dieser layergpx Schicht, richtig? Warum, wollen Sie nicht erstellen Sie das popup von der callback-Funktion der Auswahl? Sie können jede JS-Funktion als callback.
InformationsquelleAutor DonMarco | 2014-01-06
Schreibe einen Kommentar