5
A
回答
10
這裏是我做到了,我只能更換
在您看來(index.html.erb):
<%= gmaps({ "map_options" => { "zoom" => 15,
"auto_adjust" => false,
"detect_location" => true,
"center_on_user" => true }}, false, true) %>
用戶完成平移或縮放,如果您需要不同的行爲,然後使用不同的事件偵聽器後的標記3210
在視圖的底部添加:
<script type="text/javascript" charset="utf-8">
function gmaps4rails_callback() {
google.maps.event.addListener(Gmaps4Rails.map, 'idle', function() {
var bounds = Gmaps4Rails.map.getBounds();
drawItems(bounds);
});
}
</script>
在application.js中(使用jQuery):
function drawItems(theBounds) {
var url = '/venues.json/?sw_y=' + theBounds.getSouthWest().lng() +
'&sw_x=' + theBounds.getSouthWest().lat() +
'&ne_y=' + theBounds.getNorthEast().lng() +
'&ne_x=' + theBounds.getNorthEast().lat();
$.get(url, function(newItemData) {
Gmaps4Rails.replace_markers(newItemData);
});
}
venues_controller#指數:
def index
# Only pull venues within the visible bounds of the map
if (params[:sw_y] && params[:sw_x] && params[:ne_y] && params[:ne_x])
bounds = [ [params[:sw_x].to_f, params[:sw_y].to_f],
[params[:ne_x].to_f, params[:ne_y].to_f] ]
@venues_within_bounds = Venue.within_bounds(bounds)
else
@venues_within_bounds = Venue.all
end
respond_to do |format|
format.html # index.html.erb
format.json {
@data = @venues_within_bounds.collect {|v| {
:longitude => v.longitude,
:latitude => v.latitude,
:picture => v.marker_picture,
:title => v.marker_title
}
render :json => @data
}
end
end
Venue.rb模型(使用mongodb和mongoid):
def self.within_bounds(bounds)
self.where(:location.within => {"$box" => bounds })
end
2
哇,你真的爲寶石:)
這裏很多反饋我如何使用它:
只加載有用的標記,我使用geokit-rails3它們進行過濾及以下範圍:
Location.in_bounds([@south_west_point, @north_east_point], :origin => @somewhere)
當變焦或跨度,我只能依靠其擰緊過程聚類
配置,地圖中心和原變焦,看到here
你應該編寫自己的方法來獲得當前的邊界,可以考慮拉:)
相關問題
- 1. 谷歌地圖動態添加標記
- 2. 谷歌地圖動態標記圖標
- 3. Django 1.11:動態JavaScript加載谷歌地圖標記
- 4. 谷歌地圖:從JSON加載標記
- 5. 標記不加載谷歌地圖,
- 6. MVC動態谷歌地圖標記
- 7. Android的谷歌地圖動態標記
- 8. 動態谷歌地圖加載
- 9. 谷歌地圖。動態加載
- 10. 動態加載谷歌地圖
- 11. 谷歌地圖壞gmaps4rails
- 12. Gmaps4rails visualRefresh(谷歌地圖)
- 13. 谷歌地圖標記與動態圖像內部標記
- 14. 谷歌地圖的標記變量範圍(gmaps4rails寶石)
- 15. 帶有gmaps4rails的谷歌地圖中的不同標記
- 16. Rails,谷歌地圖的rails(gmaps4rails) - 標記列表
- 17. 在谷歌地圖中添加標記谷歌地圖反應
- 18. 如何動態更改谷歌地圖標記後添加
- 19. 動態添加InfoWindows和標記谷歌地圖V3
- 20. 動態添加標記羣集在谷歌地圖
- 21. 刪除並添加谷歌地圖標記動態asp.net
- 22. 標記在谷歌地圖的地圖加載
- 23. 谷歌地圖:打開infowindow後地圖和標記加載
- 24. 谷歌地圖加載靜態圖像
- 25. 谷歌地圖:動態標記定位地圖
- 26. 谷歌地圖動畫標記移動
- 27. 爲什麼codeigniter谷歌地圖庫不加載標記圖標
- 28. 如何拖動標記添加到谷歌地圖使用jQuery
- 29. 谷歌地圖 - 從javascript中動態刪除標記圖標
- 30. 谷歌地圖上的動態標記圖標
這是一個很好的答案,+1 – apneadiving 2011-05-24 22:32:10