javascript - 如何在 gmaps4rails v2 中添加折线

标签 javascript ruby-on-rails gmaps4rails gmaps4rails2

我升级到最新版本的 gmaps4rails (v2),但在绘制多段线时遇到了一些问题。

我可以使用 wiki 上的示例代码获取标记,但如果我将 addMarkers 更改为 addPolylines,则 map 中不会呈现任何内容。这是处理程序代码:

handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
polylines = handler.addPolylines([{"lat":45.678295,"lng":-121.603813,"ele":438.626221,"time":1381851321},{"lat":45.678196,"lng":-121.603607,"ele":423.202148,"time":1381851363},{"lat":45.678181,"lng":-121.603607,"ele":421.108398,"time":1381851373},{"lat":45.678162,"lng":-121.603584,"ele":420.153442,"time":1381851383},{"lat":45.678123,"lng":-121.603569,"ele":422.561096,"time":1381851393},{"lat":45.678165,"lng":-121.6036,"ele":425.191284,"time":1381851403},{"lat":45.678169,"lng":-121.603607,"ele":425.262329,"time":1381851413}]);
handler.bounds.extendWith(polylines);
handler.fitMapToBounds();
});

javascript 控制台中没有错误,只是没有 map 渲染。有什么想法吗?

最佳答案

有几件事:

  • 首先是我的 2.0.0 中的一个错误,我已经升级了 2.0.3

  • 然后是您的解释中的一个问题:折线是一个经纬度数组,因此您的代码无法运行。

  • google 没有提供任何方式来 get the bounds of a polyline ,所以很难自动调整 map 。

也就是说,你可以这样做:

polyline = [{"lat":45.678295,"lng":-121.603813,"ele":438.626221,"time":1381851321},{"lat":45.678196,"lng":-121.603607,"ele":423.202148,"time":1381851363},{"lat":45.678181,"lng":-121.603607,"ele":421.108398,"time":1381851373},{"lat":45.678162,"lng":-121.603584,"ele":420.153442,"time":1381851383},{"lat":45.678123,"lng":-121.603569,"ele":422.561096,"time":1381851393},{"lat":45.678165,"lng":-121.6036,"ele":425.191284,"time":1381851403},{"lat":45.678169,"lng":-121.603607,"ele":425.262329,"time":1381851413}]

handler.addPolyline(polyline); // and not addPolylines
handler.bounds.extend(polyline[0]);
handler.bounds.extend(polyline[ polyline.length - 1]);
handler.fitMapToBounds();

你最终会得到:enter image description here

关于javascript - 如何在 gmaps4rails v2 中添加折线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19556155/

相关文章:

javascript - 如何从 owl carousel 组件中隐藏下一个和上一个?

javascript - iPad 没有选择文本输入中的所有文本

ruby-on-rails - 默认情况下使用作为可标记的行为按字母顺序排列标签

css - 无法覆盖通过 Gmaps4Rails Gem 访问的 Google Maps API 的 Bootstrap css

javascript - gmaps4rails replaceMarkers 不工作(javascript)

ruby-on-rails - Gmaps4rails : Setting map width and height

javascript - 更改日期格式在数据库中输入了错误的日期

javascript - CKEditor XSS 清理

ruby-on-rails - 如何在rails中迁移dbase数据库

ruby-on-rails - 如果空闲,Rails Protect_from_forgery 会破坏登录表单