jquery - 在 Jquery-ui map 上添加多个标记

标签 jquery maps markers jquery-ui-map

我正在尝试将多个标记及其关联的信息窗口添加到 jquery-ui-map,但无法获得任何结果。

我尝试过这个:

$('#map').gmap('addMarker', {'position': '<?php echo $city->city_latitude; ?>,<?php echo $city->city_longitude; ?>', 'bounds': true});

但是这不起作用。

我的 map 在这段代码之前初始化并且可以工作:

$(function() {
    $('#map').gmap({'zoom':8, 'center': '45.558295,5.776062'});
});

有人知道怎么做吗?

最佳答案

您似乎正在尝试在浏览器中执行 php,但这是行不通的。首先尝试添加带有硬编码值的标记,然后您可以考虑如何将这些值传递到浏览器。示例:

(function() {
  var $map = $('#map');
  $map.gmap({zoom:8, center: '45.558295,5.776062'});
  $map.gmap('addMarker', {position: '45.558295,5.776062', bounds: true});
})();

如果这对您有用,那么您可以开始考虑如何将这些纬度和经度坐标从服务器传递到浏览器。例如,您可以使用数据属性或 ajax 调用。以下是使用数据属性的方法:

PHP/HTML:

<?php $city_lat_lng = "{$city->city_latitude},{$city->city_longitude}"; ?>

<div id="city-data" data-lat-lng="<?php echo $city_lat_lng; ?>" style="display:none;"></div>
...rest of your html code below

JS:

(function() {
  var $map = $('#map');
  var cityLatLng = $('#city-data').data('lat-lng');
  $map.gmap({zoom:8, center: '45.558295,5.776062'});
  $map.gmap('addMarker', {position: cityLatLng, bounds: true});
})();

关于jquery - 在 Jquery-ui map 上添加多个标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13154565/

相关文章:

jquery - 基于jquery ui slider 值隐藏或显示

javascript - 如何将原始 innerHTML 传递给 php?

android - 如何在 map 上显示带有地址的开始-目的地屏幕

Android动态更改标记标题

javascript - 如何在传单中使用很棒的图标库

javascript - OpenLayer 中标记事件的奇怪行为

javascript - 如何使用 jQuery 将动态表行添加到 Wordpress 数据库

javascript - 借助 JS/Jquery 函数通过 URL 加载 youtube 视频

maps - 如何可视化 map 内置数据 block 中的数据(点)?

javascript - Openlayers,更改聚类标记