标签: gmaps4rails

使用gmaps4rails动态加载Google Maps Markers

如何仅使用gmaps4rails加载地图边界内的标记?当然,在平移和/或缩放后加载新的.

与此直接相关,我如何获得地图的当前边界和缩放级别?

ruby google-maps ruby-on-rails ruby-on-rails-3 gmaps4rails

5
推荐指数
1
解决办法
3648
查看次数

gmaps4rails与地理编码器gem有冲突吗?

我正在使用gmaps4rails轻松生成我的应用程序上的谷歌地图.gmaps4rails需要模型中的lat和long属性.但是,gmaps4rails对于含糊不清的地址不是很友好.例如,当我列出公寓号码时,它不知道要显示的地址.

所以,我刚刚安装了地理编码器.我正在使用地理编码器来获取我的:location属性并在我的模型中设置它的纬度/经度.它似乎现在正在工作,但由于两个宝石都使用lat/long属性,我认为这将导致以后的冲突.会吗?

ruby-on-rails google-geocoder ruby-on-rails-3 gmaps4rails

5
推荐指数
1
解决办法
1216
查看次数

如何在rspec测试中存根gmaps4rails地理编码功能?

我正在使用gmaps4rails,并尝试开发一些测试.

我有一家工厂

factory :country do
   sequence(:name) { |n| "Country#{n}" }
end
Run Code Online (Sandbox Code Playgroud)

这显然不被谷歌认可.

Validation failed: Gmaps4rails address Address invalid
Run Code Online (Sandbox Code Playgroud)

API调用也需要时间在我的测试中运行.

如何将API调用存根?

我试过添加

before(:each)
  Country.stub(:geocode)
end
Run Code Online (Sandbox Code Playgroud)

到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
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何想法.

ruby-on-rails gmaps4rails factory-bot

5
推荐指数
1
解决办法
1144
查看次数

gmap4rails - 找不到文件下划线/未定义Gmaps

我在这里遵循简单的教程:https://github.com/JonKernPA/gmaps

我一直收到错误:

couldn't find file 'underscore'
    (/app/assets/javascripts/application.js:16)
Run Code Online (Sandbox Code Playgroud)

突出显示以下行:

<%= javascript_include_tag "application", "data-turbolinks-track" => true %>  
Run Code Online (Sandbox Code Playgroud)

我尝试按照Gmaps中发布的建议 未在rails 4 + gmaps4rails 2.0.3中定义

并且突出显示相同行的错误时出现相同的错误.当我尝试删除该行

<%= javascript_include_tag "application", "data-turbolinks-track" => true %>  
Run Code Online (Sandbox Code Playgroud)

从application.html.erb,我收到错误"未找到Gmaps"

任何帮助表示感谢,谢谢.Github链接:https://github.com/chiefkikio/circus/

ruby-on-rails-3 gmaps4rails gmaps4rails2

5
推荐指数
2
解决办法
3018
查看次数

4
推荐指数
1
解决办法
2707
查看次数

调整缩放Gmaps4Rails

我正在使用Gmaps4Rails gem,无法弄清楚如何调整默认缩放设置.在我看来,我有以下代码:

<%= gmaps({
   "map_options" => {"auto_adjust" => false, "auto_zoom" => false, "zoom" => 15 },
   "markers"     => {"data" => @json }
  })
%>
Run Code Online (Sandbox Code Playgroud)

我知道这已被多次询问和回答,但也许我只是没有看到任何建议?我错过了一些完全明显的东西吗 我为重新提出这个问题而道歉.

谢谢,凯文

编辑

我没有正确地注释掉gmaps的默认实例,它覆盖了我的自定义设置.感谢所有帮助@apneadiving!

ruby google-maps ruby-on-rails ruby-on-rails-3 gmaps4rails

4
推荐指数
2
解决办法
3611
查看次数

在Rails中使用google-maps-for-rails gem时设置标记颜色

如何使用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
Run Code Online (Sandbox Code Playgroud)

几天来我一直在努力,任何帮助都会受到赞赏.

ruby-on-rails ruby-on-rails-3 gmaps4rails

4
推荐指数
1
解决办法
2397
查看次数

RoR:使用google maps api检查其他位置半径范围内的位置

我正在使用google maps fo rails gem https://github.com/apneadiving/Google-Maps-for-Rails/.我试图找到一种方法,通过它我可以看到一个位置是否在地图圈内.例如

@circles_json = '[
 {"lng": -122.214897, "lat": 37.772323, "radius": 1000000},
]
Run Code Online (Sandbox Code Playgroud)

"

这有助于我创建圆圈.但是,如何让我们看看"位置B"是否在里面@circles_json

我正在考虑使用宝石ruby geocoderhttp://www.rubygeocoder.com/.如果是这样,我该如何继续呢?我看过轨道广播.但它主要取决于本地数据库.我正在寻找的是查看我的数据库中输入的两个位置是否彼此接近.在这种情况下,半径为50M.

任何指导表示赞赏.

谢谢

google-maps geocoding ruby-on-rails ruby-on-rails-3 gmaps4rails

4
推荐指数
1
解决办法
2479
查看次数

Rails 6 和 Google Maps for Rails

我正在使用 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
Run Code Online (Sandbox Code Playgroud)

我更新了我的webpacker.yml文件以查找 vendor/js 文件夹,并且在检查 DOM 时它似乎存在。

webpacker.yml

# Additional paths webpack should lookup modules
  # ['app/assets', 'engine/foo/app/assets']
resolved_paths: ['vendor/js']
Run Code Online (Sandbox Code Playgroud)

在我的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' …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails gmaps4rails ruby-on-rails-6

4
推荐指数
1
解决办法
1506
查看次数

使用Google-Maps-For-Rails更新模型地址的坐标

我已经注意到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
Run Code Online (Sandbox Code Playgroud)

这有效,但我想知道是否有必要,因为它似乎应该是宝石中的自动.我错过了什么吗?

谢谢...

PS地理编码返回一个数组,所以我只是采取了第一个(最佳)猜测

google-maps ruby-on-rails ruby-on-rails-3 gmaps4rails

3
推荐指数
1
解决办法
1228
查看次数