10

請參閱相關的問題:google maps custom local search/search control如何使用谷歌地圖來搜索我自己的位置數據(功能相同的地方搜索API,但對於我自己的「地方」)

我知道我可以創建自定義位置信息Windows中的Google地圖 例如http://code.google.com/apis/ajax/playground/#info_windows_sharing_v3

而且據我所知,本地搜索可以找到近的地方通過(公立)
例如http://code.google.com/apis/ajax/playground/#localsearch_with_markers

但是我的問題很簡單:我如何將兩者結合? 如何啓用與本地/地點搜索功能相同的功能,但僅限於自定義標記位置(例如,我自己的位置數據而不是Google的位置/本地數據)?

例如,如果我有一組自定義位置數據/標記(未發佈到Google Places),那麼如何允許用戶查找相對於地址或他/她當前位置的自定義地點列表?

回答

7

Local Search API已棄用,所以您應該考慮轉移到Places API

在任何一種情況下,您只需查詢(搜索或)Places API,從結果中提取LatLng並將標記放置在地圖上。

我不知道你的意思自定義標記什麼,我猜是(a)使用每個結果自己的圖標作爲標記的圖標或(b)讓用戶之間數據搜索(標記)而不是Google的Local/Places。

(a)與Places Library有點相似。在place-search.html例如你只是一個行添加到createMarker()回調函數:

function createMarker(place) { 
    var placeLoc = place.geometry.location; 
    var marker = new google.maps.Marker({ 
    map: map, 
    icon: place.icon, 
    position: place.geometry.location 
    }); 

    google.maps.event.addListener(marker, 'click', function() { 
    infowindow.setContent(place.name); 
    infowindow.open(map, this); 
    }); 
} 

原始圖標看起來大了,所以你可能要擴展他們失望。 (b)將是不同的故事,如Creating a Store Locator with PHP, MySQL & Google Maps

+0

謝謝,我正在尋找(b) - 我想搜索我的數據,而不是Google的Local/Places。我已經看到了這種聯繫,但不知道這是否是最好的解決方案? – 2012-02-04 20:08:59

+1

就是這樣。一旦你在任何SQL數據庫中都有你的數據(使用LatLngs),並且像PHP這樣的服務器端運行時郎,那麼你可以爲點+半徑搜索做最簡單的事情。 – miguev 2012-02-06 09:22:25