Tag: google maps

如何使用Gmap4rails设置缩放级别?

我刚刚在这个videohttp://youtu.be/R0l-7en3dUw之后设置了一个新项目。 我想知道如何在这样的项目中设置地图缩放级别。 我看过github上的src,因为在map.coffee中没有像zoomTo: (zoomLvl)-> @getServiceObject().setZoom(zoomLvl)我不知道怎么做。 所以有人可以帮助我吗? 我已经尝试过这种建议的解决方案( 放大到gmap4rails中的特定区域 )但是有任何好的结果: Gmaps.map.callback = function() { google.maps.event.addListenerOnce(Gmaps.map.getMapObject(), ‘idle’, function(){ var bounds = new google.maps.LatLngBounds(new google.maps.LatLng(10, 0), new google.maps.LatLng(0, 10)); Gmaps.map.serviceObject.panToBounds(bounds); } });

有没有办法让gmaps4rails在街景中打开地图?

我尝试过更改缩放级别,但它始终保持在地图模式下。 无法在wiki上找到任何信息。 任何帮助或其他建议将不胜感激。

防止谷歌地图JS由Rails Turbolinks多次执行

我目前正在处理Rails应用程序,它收到以下错误: 您已在此页面上多次添加Google Maps API。 这可能会导致意外错误。 经过一番研究后,我发现Turbolinks导致了这个问题。 单击link_to ,Google地图创建的所有DOM元素都将保留在DOM中。 当渲染新页面时,会添加另一组Google Map DOM元素,从而导致重复和错误。 我可以通过简单地将’data-no-turbolink’ => true到我的link_to来快速解决这个问题,但这会破坏使用Turbolinks的目的,因为它会强制刷新。 我想知道是否有一个潜在的解决方法来阻止这种复制而不关闭Turbolinks? map.js: var initMap = function initMap() { if (typeof mapLatLng != “undefined”) { // we can use this to set the map zoom // in different places. // use: window.setZoom = 12; if (typeof setZoom ==! “undefined”) { var mapZoom […]

调整缩放Gmaps4Rails

我正在使用Gmaps4Rails gem,无法弄清楚如何调整默认缩放设置。 在我看来,我有以下代码: {“auto_adjust” => false, “auto_zoom” => false, “zoom” => 15 }, “markers” => {“data” => @json } }) %> 我知道这已被多次询问和回答,但也许我只是没有看到任何建议? 我错过了一些完全明显的东西? 我为重新提出这个问题而道歉。 谢谢,凯文 编辑 我没有正确地注释掉gmaps的默认实例,它覆盖了我的自定义设置。 感谢所有帮助@apneadiving!

当iside选项卡时,gmaps4rails只显示地图的一半。 知道为什么吗?

我一直在四处寻找,但我没有发现这样的问题。 Gmaps4rails非常适合我! 插入JQuery选项卡时遇到麻烦。 它加载了一半的地图。 它实际上看起来像是缺少图片。 我可以照常移动/resize。 但只显示地图的一部分。 缺少的部分通常是左/下部分。 但空部分的大小一直在变化。 同时,hover地图时显示鼠标光标的手在hover此空白部分时变为箭头(但此部分仍在Google容器内)。 如果我将gmaps容器放在JQuery选项卡之外,它可以很好地工作。 谁看过这个吗? 视图 #tabs-4 #gmap =gmaps(“map_options” => { “detect_location” => true, “auto_zoom” => false, “center_on_user” => true, “zoom” => 17},”markers” => { “data” => @json }) 非常感谢!

使用地理编码器gemvalidation经度/纬度

我跟着这个Geocoder Railscast并且我正在玩它以查看我是否可以添加validation到Geocoder Gem返回的经度和纬度坐标,用户输入的错误地址不会返回任何经度和纬度坐标。 我能够通过下面的代码将其工作到一定程度但是当我输入正确的地址时,它会在用户第一次提交表单时向用户提供validation错误,即使经度和纬度坐标返回的位置也是如此。 用户第二次提交表单时,它的工作原理。 我怀疑这种情况正在发生,因为当用户提交表单时,没有经度和纬度坐标,但是第二次是因为地理编码器gem返回了坐标。 我的代码有问题或者我应该以不同的方式接近它吗? 模型 class Location {message: “Not a valid location on Google Maps, please check name address & country fields” } geocoded_by :address after_validation :geocode, :if => :address_changed? def address [name, address1, country].compact.join(‘ ‘) end def address_changed? attrs = %w(name address1 country) attrs.any?{|a| send “#{a}_changed?”} end end 终端OutPut => Booting […]

Rails 4 – 如何在供应商文件中引用javascript源代码

我刚刚发现我需要通过直接在我的应用程序中插入javascript文件来修改我的GMaps for Rails设置。 Rails 4 – Gmaps4Rails – 地图不会渲染 我已经克隆了信息框和markerclusterer repos,现在我试图引用我的应用程序中的相关文件。 我在供应商文件中有克隆附带的文件文件夹。 我理解我需要使用的javascript文件是:infobox.js和markerclusterer.js 这些文件位于: vendor/js-marker-clusterer/src/makerclusterer.js vendor/v3-utility-library/src/infobox.js 我想用它们代替这个视图中的代码: 我是否需要在app / application.js中引用javascript文件? 如果是这样,我需要在路径的哪一点开始(假设这些文件不在vendor / assets / javascripts文件夹中)? 此外,我知道我需要以某种方式合并markerclusterer图像。 这些也在克隆的仓库中出现,并存储在vendor / js-markerclusterer / images文件夹中。 如何引用它们以便它们在视图中工作?

如何使用Google-Maps-for-Rails使信息窗口自动显示为打开状态

我想显示一个地图,其中包含自动显示页面上单个标记的信息框,就像http://code.google.com/apis/maps/documentation/javascript/examples/map-coordinates.html 我试图编写一个回调函数来完成这个,但它只是不适合我。 Gmaps.map.callback = function() { if (Gmaps.map.markers.length == 1) { var marker = Gmaps.map.markers[0]; var infowindow = marker.infowindow; infowindow.open(Gmaps.map, marker); } }

使用Gmaps4rails通过AJAX调用渲染Gmap

这里有一些主题试图解决这个问题: Gmaps4rails:地图没有显示动态加载时 ,特别是在这里: 使用gmaps4rails通过Ajax渲染谷歌地图 ,还观看了gmap动态更新的截屏,但我似乎还没有得到这行得通。 我只是在点击按钮显示用户和商品之间的方向时,我试图在下拉选项卡中加载地图。 在我的_location.html.erb部分我有: { “data” => { “from” => current_user.location, “to” => @offer.location } } })%> (地点是地址) 现在,当部分立即渲染时,这很有效。 但是,如果我在最初加载整个页面之后尝试在AJAX调用上渲染部分,则不会显示gmap。 是否可以通过AJAX调用初始化和渲染gmap然后显示方向?

使用Google-Maps-for-Rails添加标记

我正在玩https://github.com/apneadiving/Google-Maps-for-Rails ,我想清除地图上的所有标记,并在地图上用户点击的位置添加一个新标记,我在页面中添加了以下代码 function gmaps4rails_callback() { google.maps.event.addListener(Gmaps4Rails.map, ‘click’, function(object){ alert(object.latLng); }); 通过这种方式,我可以看到具有lat和long值的警报,现在我如何删除旧标记并创建新标记并将其放在地图上?