通过ajax的Google-Maps-for-Rails中心地图



我正在通过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或有另一种方式?由于

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

相关内容

  • 没有找到相关文章

最新更新