私は現在、Google Maps APIを使用してデータベースに登録されているすべての会社のマーカーを表示しているASP.NETプロジェクトに取り組んでいます。JavaScript Google map bug bug
すべてはうまくいきますが、マーカーをクリックすると、会社のリストの最後の会社のツールヒント/ダイアログボックスが常に表示され、実際にクリックされた会社のマークは表示されません。
私は本当になぜそれが常に表示される最後のマーカーであるかについて私の頭を浮かべることはできません。そこにあなたのいずれかが、私はあなたから聞いて幸せになる理由を見つけることができた場合は
JavaScript.Text = @"<script type='text/javascript'>
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById('map'));
map.setCenter(new GLatLng(56.4, 10.57983), 9);
map.enableScrollWheelZoom();
}
}
</script> ";
foreach (MemberProfile m in relatedMembers)
{
XmlDocument doc = new XmlDocument();
string address = m.Address;
string zip = m.Zip;
string city = m.City;
string navn = m.Name;
string tlf = m.Phone;
doc.Load("http://maps.googleapis.com/maps/api/geocode/xml?address=" + zip + "+" + city + "+" + address + "+DK&sensor=true&key=ABQIAAAAEaY4JLb9fZFGMlDKuMUlWBRSvyGIkBO7X03pzlT7Z30EPXHR8BS0rXL_ShFm2gc79lZTw2Zak88wng");
XmlNode latNode = doc.SelectSingleNode("GeocodeResponse/result/geometry/location/lat/text()");
XmlNode lonNode = doc.SelectSingleNode("GeocodeResponse/result/geometry/location/lng/text()");
if (latNode != null && lonNode != null)
{
JSAddMarkers.Text += @"<script type='text/javascript'>
var marker = new GMarker(new GLatLng(" + latNode.Value + "," + lonNode.Value + ")); "
+ "var html = '<b>" + navn + "</b><br />" + address + "<br /> " + zip + " " + city + "<br />" + tlf + "'; " + "GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(html); });"
+ "map.addOverlay(marker);"
+ "</script>";
}
:ここに私の更新コードです!すべてのヘルプ/ヒントは
すべてのベスト:-)高く評価され、
ボー
を試してみてくださいそれ。最初にマップオブジェクトを作成し、ループを実行してマーカーを追加する必要があります。 –
うーん、あなたはこれにちょうどいいよね!新しいコードで最初の投稿を更新し、foreachループの上にマップの作成を移動します。 – bomortensen
まだ解決策が見つかりませんでした:(私は多くのコードをリファクタリングして1つを出力しようとしましたスニペットですべて誰もが? – bomortensen