2014-02-24 189 views
0

我有一個「尋找你附近的公園」的搜索字段。這個想法是,當有人輸入一個郵政編碼或城市時,會打開一個新選項卡並將用戶導向Google地圖。在Google地圖中,您可以搜索「35209附近的公園」等,並且會在該郵編或城市附近顯示帶有公園的地圖。在Rails搜索字段中搜索城市或郵編,並在新標籤頁中打開Goog​​le地圖?

我有辦法讓用戶輸入這樣的郵政編碼或城市,並在新標籤中打開Goog​​le地圖並搜索「Parks near ...」嗎?

它並不一定要這樣乾淨和精確。我真的只需要一個新標籤來打開谷歌地圖,並搜索該地區。

我的搜索欄的樣子:

%input{ type: "text", placeholder: 'Search by zip code or city', class: 'park-search' } 

回答

0

用戶輸入和谷歌地圖URL的簡單的字符串拼接結束了最佳的解決方案。

var mapRedirect = function() { 
    $('.map-button').on('click', function() { 
     var input = document.getElementById('park-search').value; 
     var googleLink = "https://www.google.com/maps/search/parks+near+" + input; 
     window.open(googleLink); 
     return false; 
    }); 
} 
0

我認爲你應該做這樣的事情:

寶石 '地理編碼器'

在您模型

attr_accessible :city_name, :latitude, :longitude 
    geocoded_by :city_name 
    after_validation :geocode 

    private 
    def city_name 
    self.city.name 
    end 

您查看

<%= image_tag "http://maps.google.com/maps/api/staticmap?size=450x300&sensor=false&zoom=16&markers=#{@location.latitude}%2C#{@location.longitude}" %> 

<h3>Nearby locations</h3> 
<ul> 
<% for location in @location.nearbys(10) %> 
    <li><%= link_to location.address, location %> (<%= location.distance.round(2) %> miles)</li> 
<% end %> 
</ul> 

http://www.rubygeocoder.com/

http://railscasts.com/episodes/273-geocoder

+0

我很欣賞這個建議。如果可能,我真的只想在另一個窗口中打開谷歌地圖。我不確定這是否可能。 – reknirt