如何仅使用gmaps4rails加载地图边界内的标记?当然,在平移和/或缩放后加载新的.
与此直接相关,我如何获得地图的当前边界和缩放级别?
我正在使用gmaps4rails轻松生成我的应用程序上的谷歌地图.gmaps4rails需要模型中的lat和long属性.但是,gmaps4rails对于含糊不清的地址不是很友好.例如,当我列出公寓号码时,它不知道要显示的地址.
所以,我刚刚安装了地理编码器.我正在使用地理编码器来获取我的:location属性并在我的模型中设置它的纬度/经度.它似乎现在正在工作,但由于两个宝石都使用lat/long属性,我认为这将导致以后的冲突.会吗?
我正在使用gmaps4rails,并尝试开发一些测试.
我有一家工厂
factory :country do
   sequence(:name) { |n| "Country#{n}" }
end
这显然不被谷歌认可.
Validation failed: Gmaps4rails address Address invalid
API调用也需要时间在我的测试中运行.
如何将API调用存根?
我试过添加
before(:each)
  Country.stub(:geocode)
end
到spec文件,但它没有任何效果.
我的模型看起来像这样
class Country < ActiveRecord::Base
  acts_as_gmappable :lat => 'latitude', :lng => 'longitude'
  def gmaps4rails_address
    "#{self.name}" 
  end
  geocoded_by :gmaps4rails_address
  after_validation :geocode
end
谢谢你的任何想法.
我在这里遵循简单的教程:https://github.com/JonKernPA/gmaps
我一直收到错误:
couldn't find file 'underscore'
    (/app/assets/javascripts/application.js:16)
突出显示以下行:
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>  
我尝试按照Gmaps中发布的建议 未在rails 4 + gmaps4rails 2.0.3中定义
并且突出显示相同行的错误时出现相同的错误.当我尝试删除该行
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>  
从application.html.erb,我收到错误"未找到Gmaps"
任何帮助表示感谢,谢谢.Github链接:https://github.com/chiefkikio/circus/
我为什么不须提供自己在gmaps-API密钥gmaps4rails?
我正在使用Gmaps4Rails gem,无法弄清楚如何调整默认缩放设置.在我看来,我有以下代码:
<%= gmaps({
   "map_options" => {"auto_adjust" => false, "auto_zoom" => false, "zoom" => 15 },
   "markers"     => {"data" => @json }
  })
%>
我知道这已被多次询问和回答,但也许我只是没有看到任何建议?我错过了一些完全明显的东西吗 我为重新提出这个问题而道歉.
谢谢,凯文
编辑
我没有正确地注释掉gmaps的默认实例,它覆盖了我的自定义设置.感谢所有帮助@apneadiving!
如何使用google-maps-for-rails将颜色参数传递给google maps api?我想根据一个值设置控制器内每个标记的颜色,所以有些是红色,有些是黄色,有些是绿色.我相信它是Symbol中的图标属性,它看着:
https://developers.google.com/maps/documentation/javascript/reference#MarkerOptions
另外,我想在标记内有一个1-99的数字,是否可能?到目前为止,我有这个.
@json = Device.all.to_gmaps4rails do |device, marker|
end
几天来我一直在努力,任何帮助都会受到赞赏.
我正在使用google maps fo rails gem https://github.com/apneadiving/Google-Maps-for-Rails/.我试图找到一种方法,通过它我可以看到一个位置是否在地图圈内.例如
@circles_json = '[
 {"lng": -122.214897, "lat": 37.772323, "radius": 1000000},
]
"
这有助于我创建圆圈.但是,如何让我们看看"位置B"是否在里面@circles_json?
我正在考虑使用宝石ruby geocoderhttp://www.rubygeocoder.com/.如果是这样,我该如何继续呢?我看过轨道广播.但它主要取决于本地数据库.我正在寻找的是查看我的数据库中输入的两个位置是否彼此接近.在这种情况下,半径为50M.
任何指导表示赞赏.
谢谢
google-maps geocoding ruby-on-rails ruby-on-rails-3 gmaps4rails
我正在使用 Rails 6.0.0.rc1 并希望实现Google-Maps-for-Rails gem。我通过Yarn安装了下划线,并在我的标签中添加了我的 API 所需的谷歌脚本。
我下载gmaps_google.js并将其添加到我的 vendor/js 文件夹中,因为 Rails 6 没有资产管道,而是使用 webpacker。这是我认为要发布的地方,因为我收到以下错误:
ReferenceError: Can't find variable: Gmaps
我更新了我的webpacker.yml文件以查找 vendor/js 文件夹,并且在检查 DOM 时它似乎存在。
webpacker.yml
# Additional paths webpack should lookup modules
  # ['app/assets', 'engine/foo/app/assets']
resolved_paths: ['vendor/js']
在我的javascript/packs/application.js我包括一条require("gmaps_google")线。请注意,我在 Highcharts 上遇到了同样的问题,但是能够成功加载脚本但添加了window.Highcharts = Highcharts;但我不确定是否可以使用 require 选项执行相同的操作?
javascript/packs/application.js
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require('jquery')
require("trix")
require("@rails/actiontext")
window.Highcharts = Highcharts;
import Highcharts from 'highcharts';
import addMore from "highcharts/highcharts-more";
import 'bootstrap'
import 'underscore' …我已经注意到Google Maps For Rails宝石,否则它可以完美地工作,当我在模型字段中更改地址时,坐标不会自动更新,即使地址字段已更新并保存.我创建了一个调用geocode的before_save方法.
before_save :update_location_coordinates # in model being mapped
protected 
def update_location_coordinates  
    place = Gmaps4rails.geocode(gmaps4rails_address).first  
    self.longitude, self.latitude = place[:lng], place[:lat] unless place.empty?  
rescue  
    nil  
end
这有效,但我想知道是否有必要,因为它似乎应该是宝石中的自动.我错过了什么吗?
谢谢...
PS地理编码返回一个数组,所以我只是采取了第一个(最佳)猜测