2012-01-17 44 views
0

怎能openInfoWindowHtml在谷歌地圖,而鼠標在PHP MySQL的結果如下,顯示多個位置標記

http://www.yelp.com/c/denver/health

該網站顯示在谷歌地圖信息窗口,同時鼠標移到結果的標題

嘗試作爲以下,

//<![CDATA[ 
var map; 
var geocoder; 
var markerArray = []; 
function loadMap(params) { 
    if (GBrowserIsCompatible()) { 
     geocoder = new GClientGeocoder(); 
     map = new GMap2(document.getElementById('map')); 
     map.addControl(new GSmallMapControl()); 
     map.addControl(new GMapTypeControl()); 
     map.setCenter(new GLatLng(40, -100), 4); 
     map.setZoom(8); 
     searchLocationsNear(params) 
    } 
} 

function searchLocationsNear(params) { 

    var data = JSON.parse(params); 
    var lenght = data.length; 
    var bounds = new GLatLngBounds(); 
    for (var i = 0; i < lenght; i++) { 

     // check lat and long available with data 
     if (data[i].enough_for_map) { 
      var name = data[i].name; 
      var address = data[i].address; 

      if (data[i].description) 
       var description = data[i].description; 

      var point = new GLatLng(data[i].latitude, data[i].longitude); 

      var marker = createMarker(point, name, address, description); 

      map.addOverlay(marker); 

      markerArray[i + 1] = marker; 

      var el_index = $('service_name_' + i); 

      if (el_index) { 

       el_index.addEvent('mouseover', marker); 

       // GEvent.addDomListener(el_index, 'mouseover', function() { 
       // GEvent.trigger(markerArray[i], 'click'); 
       // }); 

      } 

      bounds.extend(point); 
     } 
    } 
    map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds)); 
} 

function createMarker(point, name, address, description) { 
    var marker = new GMarker(point); 
    var html = '<b>' + name + '</b> <br/><p>' + description + '</p>' + address; 
    GEvent.addListener(marker, 'click', function() { 
     marker.openInfoWindowHtml(html); 
    }); 
    return marker; 
} 

上述地圖上的位置從MySQL結果S指出等。

<h2> 
    <a id="service_name_1" href="/example/details/bookkeeper/191">Photographer</a> 
</h2> 
<h2> 
    <a id="service_name_2" href="/example/details/bookkeeper/192">Teacher</a> 
</h2> 
<h2> 
    <a id="service_name_3" href="/example/details/bookkeeper/193">Accountant</a> 
</h2> 

除外結果: 雖然每個h2鼠標懸停應該表現出相應的在地圖上的位置信息。

任何建議將不勝感激

感謝

回答

0

有多遠,你得到?

原則上你可以,

放在您放置其中顯示自定義信息窗口(幾個不同的方法/例子在這裏:http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/demogallery.html)在地圖上的標記標準「click'事件偵聽器。

在側邊欄列表的li元素上有另一個'mouseover'偵聽器,輪流觸發click事件。 (這裏是如何觸發谷歌地圖事件:http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#event

+0

用腳本編輯的問題。請問您可以查看 – abhis 2012-01-18 09:42:25

+0

您爲什麼使用API​​-2?你的問題標籤說API-3。 – jenswirf 2012-01-18 10:08:19

+0

如果我是你,我會研究'el_index.addEvent('mouseover',marker)''行,也許用'el_index.addEventListener('mouseover',function(){GEvent。 trigger(markerArray [i],'click')}); – jenswirf 2012-01-18 10:11:40

相關問題