1

ユーザーがアドレスにカーソルを合わせたときに、マーカーで mouseover イベントを呼び出そうとしていますが、うまくいかないようです。このページを開く

http://tinyurl.com/bp94qdy

地下鉄と入力して、[go] をクリックします。これはアドレスのリンクです

 <a  onmouseover="javascript:google.maps.event.trigger(markersArray['+i+'],onmouseover);"

また、すべてのマーカーが収まるように初期化時にマップをズームしようとしていますが、未定義の GLatLngBounds エラーが発生します。使用されるコードは function calculateCenter() {

  /* var latlngbounds = new GLatLngBounds();
  for (var i = 0; i < latlng.length; i++)
   {
       latlngbounds.extend(latlng[i]);
    }
    map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));*/
    center = map.getCenter();
    }
4

1 に答える 1

3

google.maps.event.triggerの構文を見てください。 これは機能しません。

<a onmouseover="javascript:google.maps.event.trigger(markersArray['+i+'],onmouseover);" ...

イベント名は文字列である必要があるため、次のようになります。

<a  onmouseover="javascript:google.maps.event.trigger(markersArray['+i+'],'onmouseover');" ...

またはさらに良いことに、DHTMLを使用します。

var div = document.createElement('DIV');
div.onmouseover = function(i){
google.maps.event.trigger(markersArray[i],'mouseover');
}
div.innerHTML = contentString;
var listContainer = document.getElementById("listingAddress");
listContainer.appendChild(div);

イベント名を引用符で囲みます。そして別のエラーがあります: var markerBounds = new GLatLngBounds(); APIV2構文です。V3 APIでは、

var markerBounds = new google.maps.LatLngBounds();
于 2012-09-01T08:33:44.333 に答える