0

私はOpenLayersでおそらくかなり基本的な問題を抱えています。誰かがこれについて私を助けてくれるなら、それは本当に素晴らしいことです。

マーカーの配列があり、それぞれに異なるポップアップボックステキストが必要です。しかし、私はそれに応じたテキストをマーカーに適用することに失敗しました。ポップアップボックスのコンテンツについて、別の配列を介してこれを実行しようとしました。ただし、正しいテキストをマーカーに関連付けることができませんでした。これが私のコードです:

var vs_locations = [
[13.045240, 47.8013271],
[13.145240, 47.8013271],
[13.245240, 47.8013271],
];

var popupContentHTML = [
"Text for marker with loc[0]",
"Text for marker with loc[1]",
"Text for marker with loc[2]"
];

function addVS(){

  for (var i = 0; i < vs_locations.length;i++){
    var loc = vs_locations[i];
    var feature = new OpenLayers.Feature(volksschulen, new OpenLayers.LonLat(loc[0],loc[1],loc[2]).transform(proj4326,proj900913));
    feature.closeBox = true;
    feature.data.icon = new OpenLayers.Icon('coffeehouse.png');
    feature.popupClass =  OpenLayers.Class(OpenLayers.Popup.FramedCloud, {
     'autoSize': true, 
    });
    marker = feature.createMarker();
    volksschulen.addMarker(marker);
    feature.data.popupContentHTML = ; //Here should be the text according to the marker
    feature.data.overflow = "auto";
    marker.events.register("mousedown", feature, markerClick);
    feature.popup = feature.createPopup(feature.closeBox);
    map.addPopup(feature.popup);
    feature.popup.hide();
  } 
}
4

1 に答える 1

0

試しましたか:

feature.data.popupContentHTML = popupContentHTML[i];

位置配列の長さがテキスト配列と一致すると仮定すると、長さと位置の両方が

于 2012-09-27T19:59:06.313 に答える