【问题标题】:Google-Maps-for-Rails center map via ajax通过 ajax 的 Google-Maps-for-Rails 中心地图
【发布时间】:2011-04-10 13:26:59
【问题描述】:

我正在通过 ajax 设置一个新标记,我想知道如何使用自定义缩放级别将地图居中放在新点上,我是这样制作的:

  def geocode
pos = Gmaps4rails.geocode(params[:address])
render :update do |page|
    unless pos.blank?
        page << "$('#poi_latitude').val(#{pos.first[:lat]});"
        page << "$('#poi_longitude').val(#{pos.first[:lng]});"
        page << "if (marker != null) { marker.setMap(null); }"
        page << "var myLatlng = new google.maps.LatLng(#{pos.first[:lat]},#{pos.first[:lng]});"
        page << "marker = new google.maps.Marker({position: myLatlng, map: Gmaps4Rails.map});"
                    page << "Gmaps4Rails.map.centerAndZoom(myLatlng, 0);"

    end
end

结束

但是我收到一个错误,因为方法 centerAndZoom 没有定义到 gmaps4rails.js 中,我应该将它定义到 js 中还是有其他方法? 谢谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 google-maps gmaps4rails


    【解决方案1】:

    Gmaps4rails 是一个包装器,因此 google 对象会保留其所有属性。

    您的行 Gmaps4Rails.map.centerAndZoom(myLatlng, 0); 不起作用,因为 centerAndZoom 不是有效方法(您在哪里找到的?参考在这里:http://code.google.com/apis/maps/documentation/javascript/reference.html

    否则,您的问题已经在这里得到解答:https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Dynamic-%28or-Ajax%29-map-refresh

    您可以使用replace_markersadd_markers

    您可以调整地图的设置,使其以您想要的方式居中:https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Map

    请参阅auto_adjust

    【讨论】:

    • 此答案中的链接不再包含解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 2016-09-03
    相关资源
    最近更新 更多