2

對於熟悉Google Fusion Tables的人員,我有一個簡單的問題。基本上我希望用戶能夠通過間接更改與標記樣式類型對應的數字列來更改地圖上的標記樣式。Google Fusion Table更改個人標記類型

具體來說,我目前有一個大約有7000個地址的Fusion Table和相應的地圖。我想知道是否有反應從地圖改變標記類型。下面是我目前如何配置:我在融合表中有一個列,它將標記類型劃分爲「桶」,它們繪製不同的標記類型。現在他們都是紅色圓圈,當我訪問每個位置時,我想單獨更改標記類型(所以在表格中,我會將1(對應於紅色)更改爲3(對應於綠色)),以便我知道我訪問過哪些房屋。但對我來說,向下滾動7000點的融合表並將1更改爲3是不可行的,所以我想知道是否可以直接在地圖上改變它。無論是從網頁上的地圖還是融合表內的地圖谷歌。

謝謝你在前進, 大衛

+0

是存在具有唯一值在該表(任何列除外ROWID) –

回答

1

如果你有一個頁面上的融合表得到的地圖,你可以添加一個按鈕,在一個融合表更新的值的信息窗口 - 這樣你就可以改變值從1到3.稍微進一步,你可以添加一個監聽器來點擊地圖標記本身並更改值。

更新值(尤其是如果你是表的所有者)很簡單(https://developers.google.com/fusiontables/docs/v1/using#updateRowhttps://developers.google.com/fusiontables/docs/v1/sql-reference#updateRow),它基本上是一種相當標準的SQL操作形式,它使用HTTP來調用請求。

UPDATE <table_id> 
SET <column_name> = <value> {, <column_name> = <value> }* 
WHERE ROWID = <row_id> 

添加聽者一個標記,以PUP了的更新按鈕的信息窗口也很簡單:

https://developers.google.com/maps/documentation/javascript/examples/infowindow-simple

// This example displays a marker at the center of Australia. 
// When the user clicks the marker, an info window opens. 

function initialize() { 
    var myLatlng = new google.maps.LatLng(-25.363882,131.044922); 
    var mapOptions = { 
    zoom: 4, 
    center: myLatlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 

    var contentString = '<div id="content">'+ 
     '<div id="siteNotice">'+ 
     'button that call some ajax to fire off a column update' + 
     '</div>'; 

    var infowindow = new google.maps.InfoWindow({ 
     content: contentString 
    }); 

    var marker = new google.maps.Marker({ 
     position: myLatlng, 
     map: map, 
     title: 'Uluru (Ayers Rock)' 
    }); 
    google.maps.event.addListener(marker, 'click', function() { 
    infowindow.open(map,marker); 
    }); 
} 

google.maps.event.addDomListener(window, 'load', initialize);