1
我正在使用數據層API將geojson數據添加到地圖。從添加了數據層API的geoJSON功能獲取標記參考
但問題是,addGeoJson方法返回的功能列表,我無法找到的接口方法來檢索與該功能相關的標記OBJ參考。
我不想在動態創建Google Marker對象,將它們添加到地圖並刪除該功能。這太過分了。
我只想在我離開數據層和管理自己的標記之前採取適當的方法。
謝謝,
Seb。
我正在使用數據層API將geojson數據添加到地圖。從添加了數據層API的geoJSON功能獲取標記參考
但問題是,addGeoJson方法返回的功能列表,我無法找到的接口方法來檢索與該功能相關的標記OBJ參考。
我不想在動態創建Google Marker對象,將它們添加到地圖並刪除該功能。這太過分了。
我只想在我離開數據層和管理自己的標記之前採取適當的方法。
謝謝,
Seb。
我也有這個問題。我在API文檔中找不到太多東西。你需要一個Marker對象,你沒有它,因爲你將它們上傳到了數據層。
然而,在InfoWindow documentation,它說,你可以創建一個位置設置MVCObject。我在事件處理程序中做了以下。您不必將它放在地圖上,只需通過創建MVCObject並將其提交給infoWindow構造函數來處理click事件。
function initialize(mapID) {
var myLatlng = new google.maps.LatLng(38.951644, -92.334127);
var mapOptions = {
zoom: 12,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById(mapID), mapOptions);
map.data.addGeoJson(realestate_js.geojson_results);
map.data.setStyle(function(feature){
// setStyle executes this function on each feature...
// each feature then receives the "google.maps.Data.StyleOptions" object
// which defines its icons and stuff.
// https://developers.google.com/maps/documentation/javascript/3.exp/reference#Data.StyleOptions
return {
'clickable':true,
'icon':feature.A.icon,
'title':feature.A.address1,
}
});
var fakeMarker = new google.maps.MVCObject();
var infoWindow = new google.maps.InfoWindow({
'content':"",
});
map.data.addListener('click', function(event){
fakeMarker.set('position', {'lat':event.latLng.A, 'lng':event.latLng.F});
var infoWindow = new google.maps.InfoWindow({
'content':"<h1>Info Window Content here</h1><p>omg this so text</p>" + ,
});
infoWindow.open(map, fakeMarker);
});
}
我相信A''和'F'是精縮內部名稱,和他們比我不同。相反,我做了'fakeMarker.set('position',event.latLng)'。 –