1

ユーザーがマップ上のマーカーをクリックすると、独自の URL が必要になります。

たとえば、ユーザーがマーカー A をクリックすると、URL はhttp://example.com/m/132に変わります。理想的には、SQL テーブルのマーカー ID にリンクされます。

アイデアは、各マーカー、したがって情報セクションを共有できるということです。したがって、ユーザーはマーカー A について書いたレビューを共有できます (各マーカーにはレビュー システムがあります)。共有した場合、URL はたとえばhttp://example.com/m/132/review#1になります。

私はかなりの調査を行いましたが、解決策は思いつきませんでした。

誰かが私を正しい方向に向けることができますか?

ありがとう :)

4

1 に答える 1

0

各マーカーにマーカークリックイベントを添付するだけです。

google.maps.event.addListener(marker, 'click', function() {
                alert('trigger url associated with marker');
            });

通常、マップ内に多くの機能がある場合は、マーカー自体を配列内に格納して、それらを参照できるようにします。もちろんそうしますが、その上に、URL を格納するマーカーに直接関連付けられた別の配列があります。その後、jquery を使用して、非表示の html リンクのクリックをトリガーし、トリガーする前に、マーカー URL 配列に格納されている URL を入力することができます。これについてさらに必要な場合はお知らせください。コードを見るのが難しいためですが、私が提示した方法がうまくいくと確信しています。

***ここで更新する方法は次のとおりです。:

html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
 <script>
  function marker_onClick() {
   $('#myMarkerUrl').click();
  }
</script>
</head>
<body>
 <a id='myMarkerUrl' href='http://www.google.com' onClick="a_onClick()"> aaa </a>
</body>
</html> 
</body>
</html>

次に、コードの Google マップの addevent リスナー部分で URL をオーバーライドします。

google.maps.event.addListener(marker, 'click', function() {
var myMarkersURL = myMarkersURLArray[i];
$("#myMarkerUrl").attr("href", myMarkersURL);                    
$('#myMarkerUrl').click();
                });

上記のことがわかったので、これをテストしていないことに注意してください。ただし、一般的には、あなたの靴で行うことです。

于 2012-10-06T05:31:39.803 に答える