2013-02-12 53 views
1

我的標題可能讓我聽起來像一個白癡。 我只是不知道如何命名我想在這裏做的。 我從JSON格式的數據庫中獲取個人數據的位置。 與使用標記聚合器jQuery插件相比,這些個體被釘在地圖上。 但我真的很喜歡他們在這個網站上做的。 http://www.fetalhope.org/patients-families/treatment?cid=168&x=35&y=14列出數據和地圖移動時點擊數據

如果您能幫助我建立相同的設置,我將不勝感激。 我願意付出,但失業不期望太多。 我只是想學習。

{ 
    "users": [ 
    { 
     "name": "John Doe", 
     "latitude": "22.3430194444444", 
     "longitude": "114.110386111111" 
    }, 
    { 
     "name": "John Doe", 
     "latitude": "48.4048403957642", 
     "longitude": "2.68452644348145" 
    } 
    ] 
} 

     $(function CheckinMap() { 
      $.when($.ajax({ 
       type: "GET", 
       dataType: "json", 
       url: "content/sewerage/index.cs.asp?Process=ViewMap" 
      })).done(  function initialize(data) { 
       var MapData = data; 
       var center = new google.maps.LatLng(41.00527, 28.97696); 
       var map = new google.maps.Map(document.getElementById('checkinmap'), { 
        zoom: 6, 
        center: center, 
        mapTypeId: google.maps.MapTypeId.ROADMAP, 
        maxZoom: 14 
       }); 
       var markers = []; 
       for (var i = 0; i < MapData.users.length; i++) { 
        var location = MapData.users[i]; 
        var latLng = new google.maps.LatLng(location.NIDLatitude, 
         location.NIDLongitude); 
        var marker = new google.maps.Marker({ 
        position: latLng 
        }); 
        markers.push(marker); 
       } 
       var markerCluster = new MarkerClusterer(map, markers); 
      }); 
     }); 

回答

0

根據您正在使用(例子是V3)谷歌的API的版本地圖,你可以做的是使用監聽器上的標記,當它被點擊,你可以得到一個值,我們說一個id,標識你想要關注列表的元素。 所以,假設你有一個標記,你可以擴展它並添加你的id

var markerItem = new google.maps.Marker(); 
markerItem.metadata = {id: 1}; 

然後你添加事件偵聽器:

google.maps.event.addListener(markerItem, 'click', function() { 
      var targetId = markerItem.get("id"); 
      //do something with the target id like scrolling the desired point of the list 

    }); 

在事件中,你可以在地圖的中央長所點擊標記的緯度/,創建一個新的infoWindow並顯示它等, ,:

var infoWindowItem = new google.maps.InfoWindow({content: 'Some content here!'}); 
infoWindowItem.open(map, markerItem); 
+0

Giorgio非常感謝您的回覆,但這是令人困惑的地方,我把這些放在哪裏。我嘗試將它放在初始化(數據)函數中,但我收到了很多不同的錯誤。 – 2013-02-12 22:40:04

+0

嘗試重現第一個示例https://developers.google.com/maps/documentation/javascript/events並從此處開始。 – 2013-02-12 22:51:24