0

OpenLayers 2.12を使用して、リモートサーバーからマップポイントの場所を含むKMLマップデータを取得しています。データはJavascriptによって正常に受信され、機能が作成され、地図上に位置マーカーを確認できます。

次に、各場所がクリックされたときにポップアップを作成しようとします。これが私の「機能選択」イベントハンドラーです:

function site_selected(event) {

    var feature = event.feature;
    feature.closeBox = true;
    feature.popupClass = OpenLayers.Class(OpenLayers.Popup.FramedCloud, {
        'autoSize': true
    });
    feature.data.popupContentHTML = '<div>hello</div>';
    feature.data.overflow = "auto";
    feature.lonlat = new OpenLayers.LonLat(feature.geometry.x, feature.geometry.y);
    var popup = feature.createPopup(true);
    popup.show();
}

ただし、への呼び出しfeature.createPopup(true)はnullを返します。

ポップアップの例を見てきましたが、KMLデータの読み込みは含まれていません。lonlatプロパティを設定しましたが、それでもnullが返されます。質問は、なぜですか?

4

2 に答える 2

0

「ポップアップ」の例を見てくださいhttps://github.com/ccnmtl/openlayers/tree/master/openlayers/examples

行 createPopup 関数: https://github.com/ccnmtl/openlayers/blob/master/openlayers/examples/popupMatrix.html#L857

于 2012-09-25T10:47:31.877 に答える