【发布时间】:2017-04-28 20:07:42
【问题描述】:
我正在 Rails 5 Ruby 2.4.0 中构建一个应用程序,并且我正在尝试实现一个动态谷歌地图,该地图在 PostgresDB 中的每个位置的地图上放置一个标记。
我正在使用地理编码器 gem,这是分配我的 lat 和 lng 浮点值。
当我使用以下代码时:
<script>
function initMap() {
var uluru = [
<% @locations.each do |location| %>
{ lat:<%= location.latitude %>, lng:<%= location.longitude %> },
<% end %>
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
});
var marker = new google.maps.Marker({
position: uluru,
map: map
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&callback=initMap">
</script>
我在谷歌浏览器的控制台输出中收到以下错误:
InvalidValueError: setPosition: not a LatLng or LatLngLiteral: in property lat: not a number
我对向 Rails 应用程序添加动态地图比较陌生,不知道如何解决这个问题!在这里的任何帮助将不胜感激!
提前致谢!
编辑 1:添加脚本生成的输出:
function initMap() {
var uluru = [
{ lat:51.0389453, lng:-113.9474975 },
{ lat:51.1015305, lng:-114.0411054 },
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
});
var marker = new google.maps.Marker({
position: uluru,
map: map
});
}
【问题讨论】:
-
请复制粘贴该部分生成的代码。
-
lat 和 lng 的表现如何?
-
是的。似乎问题出在那儿。
-
好吧,我去抢它
-
帖子已更新,我认为这就是您要寻找的内容
标签: javascript ruby-on-rails ruby google-maps google-maps-api-3