私はオープン ストリート マップとオープン ストリート レイヤーを使用しており、技術者がマーカーに移動して作業を行い、次の場所に移動するチケット (マーカー) のマップを作成しようとしています。マーカーを作成し、onclick 関数を起動することができます。私が理解できないのは、マーカー自体から情報を引き出す方法です。私は..のようなマーカーを作成しています
addPinViaLongLat: function(icon, long, lat, popupString) {
var icon_marker = new OpenLayers.Icon(icon, null, null);
var marker = new OpenLayers.Marker(new OpenLayers.LonLat(long, lat).transform(rapidSchedulingMap.coor_from, rapidSchedulingMap.coor_to), icon_marker);
var popup;
marker.events.register('mouseover', marker, function(evt) {
popup = new OpenLayers.Popup.FramedCloud("Popup",
new OpenLayers.LonLat(long, lat).transform(rapidSchedulingMap.coor_from, rapidSchedulingMap.coor_to),
null,
popupString,
null,
false);
rapidSchedulingMap.map.addPopup(popup);
});
marker.events.register('mouseout', marker, function(evt) {
popup.hide();
});
rapidSchedulingMap.bindClick(marker);
rapidSchedulingMap.layer.addMarker(marker);
},
クリックでmarker.ticketNumberのように参照できるように、データを追加する方法があるかどうか疑問に思っています。グーグルでこのようなものを見たことがなかったので、ここに来ました。誰かがいくつかのアイデアを持っていることを願っています。
編集: openlayer で特定のマーカーを削除する方法を見つけました。これは、marker.XXXXを実行する機能を示し、マーカーを配列にプッシュして、それらすべてを追跡します。