【发布时间】:2014-08-19 07:15:28
【问题描述】:
我正在用 ruby on rails 做谷歌地图。我正在尝试在地图上实现动态标记文本。
我找到了一种在 java 脚本中添加标记文本的方法。如何将我的控制器数据(从数据库中检索的字符串数据)传递给 java?我搜索了其他帖子但无法理解他们的答案。
html中的javascript是
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3&sensor=false"></script>
<script type="text/javascript" src="../src/markerwithlabel.js"></script>
<script type="text/javascript">
function initMap() {
var latLng = new google.maps.LatLng(49.47805, -123.84716);
var homeLatLng = new google.maps.LatLng(49.47805, -123.84716);
var map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 12,
center: latLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker1 = new MarkerWithLabel({
position: homeLatLng,
draggable: true,
raiseOnDrag: true,
map: map,
labelContent: *"text"*,
labelAnchor: new google.maps.Point(22, 0),
labelClass: "labels", // the CSS class for the label
labelStyle: {opacity: 0.75}
});
</script>
我想将这个 "text" 替换为一个名为 text 的变量,它会从我的控制器中复制 @somestring,比如 gmaps_controller.rb
我尝试添加文本:“”我把它放在 var homelatlng 下,但没有用。
我也试过了
$(document).ready(function(){
var text='<%=j @somestring%>'
})
我把它放在一个单独的javascript标签中
<script type="text/javascript" src="../src/markerwithlabel.js"></script>
也不行。
还有其他方法可以将数据传递给控制器吗?请详细告诉我我是个新手。 提前致谢
【问题讨论】:
-
我在这里提供一个例子:github.com/apneadiving/Google-Maps-for-Rails
-
您能否分享一下,这在视图中呈现什么?
-
@apneadiving 我已经阅读了很多次,尝试关注apneadiving.github.io 将文本添加到标记。但是这个特殊的是咖啡脚本,我尝试了很多地方来添加这个咖啡脚本(试过其他javascript 他们工作!),它只是不工作 T.T 必须转向其他方法。这个带有标签的标记工作。
-
@Babar 当我尝试添加这两个时,地图显示但没有标记没有文本。似乎它出错了,因为文本值为空或语法错误
-
在 github 示例中,他在控制器中创建了一个 json 并将其发送到视图,您尝试过吗?
标签: javascript ruby-on-rails ruby google-maps