- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前正在尝试将重叠标记 Spiderfier 插件集成到 Google map 设置中。我正在将位置数据从 MongoDB 传递到 Jade 模板。
在使用该附加组件之前,我使用 for 循环从坐标数组中创建标记。这些已按预期显示。
但是,当我集成Spiderfier代码时,标记不再添加到 map 上。 map 仍会显示,但 JavaScript 控制台返回未捕获的引用错误 - OverlappingMarkerSpiderfier 未定义
消息。这是否意味着对附加组件的调用不正确?我完全准备好接受我错过了一些明显的事情,但到目前为止已尝试以下方法但无济于事:
以下是有关 Google map 的代码:
script(src="http://maps.googleapis.com/maps/api/js?key=AIzaSyASXfB-y1pwF_S-qToDhYL7doiHrUFOx0Q&sensor=false")
script(src"http://jawj.github.io/OverlappingMarkerSpiderfier/bin/oms.min.js")
script.
var locationArray = [];
each tweetlocations, i in locationlist
script.
var latitude = "#{tweetlocations.latitude}";
var longitude = "#{tweetlocations.longitude}";
var markerlocation = new google.maps.LatLng(latitude,longitude);
locationArray.push(markerlocation);
script.
function initialize()
{
var mapProp = {
center:markerlocation,
zoom:1,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);
var iw = new google.maps.InfoWindow();
var oms = new OverlappingMarkerSpiderfier(map,{markersWontMove: true, markersWontHide: true});
var usualColor = 'eebb22';
var spiderfiedColor = 'ffee22';
var iconWithColor = function(color) {
return 'http://chart.googleapis.com/chart?chst=d_map_xpin_letter&chld=pin|+|' + color + '|000000|ffff00';
}
var shadow = new google.maps.MarkerImage('https://www.google.com/intl/en_ALL/mapfiles/shadow50.png',
new google.maps.Size(37, 34),
new google.maps.Point(0, 0),
new google.maps.Point(10, 34)
);
oms.addListener('click', function(marker, event) {
iw.open(map, marker);
});
oms.addListener('spiderfy', function(markers) {
for(var i = 0; i < markers.length; i ++) {
markers[i].setIcon(iconWithColor(spiderfiedColor));
markers[i].setShadow(null);
}
iw.close();
});
oms.addListener('unspiderfy', function(markers) {
for(var i = 0; i < markers.length; i ++) {
markers[i].setIcon(iconWithColor(usualColor));
markers[i].setShadow(shadow);
}
});
var bounds = new google.maps.LatLngBounds();
var coord;
for (coord in locationArray) {
bounds.extend(coord);
var marker = new google.maps.Marker({
position: locationArray[coord],
map: map,
icon: iconWithColor(usualColor),
shadow: shadow
});
oms.addMarker(marker);
}
}
google.maps.event.addDomListener(window, 'load', initialize);
最佳答案
看起来您在第二个 script() 函数中犯了一个小拼写错误,缺少 src 和 url 之间的 =
符号。因此,外部 Spiderfier 脚本未加载,这解释了OverlappingMarkerSpiderfier 未定义
。
所以改变
script(src"http://jawj.github.io/OverlappingMarkerSpiderfier/bin/oms.min.js")
所以它包含一个=
script(src="http://jawj.github.io/OverlappingMarkerSpiderfier/bin/oms.min.js")
关于javascript - 将重叠标记 Spiderfier 与 Google map v3 集成后不显示任何标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22511196/
我正在尝试 Spiderfy 我的标记并向它们添加监听器。 Spidefying 工作正常,这意味着我得到了重叠的标记 spiderfied 但问题是我似乎无法弄清楚如何向这些标记添加监听器。换句话说
希望利用 George MacKerron 开发的 spiderfy。但是我还有另一个要求,即默认加载所有标记为“spiderd”的 map 。我可以通过使用 javascript 单击标记来模仿这一
我正在尝试实现 https://github.com/jawj/OverlappingMarkerSpiderfier处理可能出现在完全相同位置的多个 map 标记。我使用下面的 javascript
我想知道是否有任何适用于 Google map 的库可以扩展同一 LatLng 上的所有标记。像这样:http://jawj.github.io/OverlappingMarkerSpiderfier
Google map 不提供分解同一位置的多个标记的方法。这种情况可能发生在位于多个居住地点(例如公寓楼或专业服务大楼)的人员或企业身上。根据缩放级别,它也可能发生在购物中心等处。 解决方法是“蜘蛛化
我有一个带有标记的谷歌地图,使用 OverlappingMarkerSpiderfier传播非常紧密重叠的标记。我需要检索鼠标事件标记的屏幕位置(在实际版本中,我正在制作过于复杂的工具提示,无法融入谷
我正在尝试将 Spiderfier 实现到我的代码中,但在将字符串地址转换为(纬度)坐标时遇到一些困难。 演示:http://jawj.github.com/OverlappingMarkerSpid
我目前正在 Leaftlet Marker Cluster 上练习。 1.如果我知道我需要的标记位于某个簇下,我如何自动将该簇蜘蛛化到最大缩放级别,从而无需单击该簇即可获取我需要的标记? 2.如果我知
我有一张谷歌地图,上面有一堆标记。其中一些标记与其他标记具有相同的纬度/经度,因此请坐在彼此的顶部。我正在使用 oms 库来允许标记被蜘蛛化,这样每个标记都可以被点击。 到目前为止一切正常。但是,您可
我是 googlemaps 的新手。我已经阅读了 Overlapping Marker Spiderfier文档,但我仍然对如何将其实现到我的 map 中感到困惑。 这是我的尝试: function
目前正在尝试将重叠标记 Spiderfier 插件集成到 Google map 设置中。我正在将位置数据从 MongoDB 传递到 Jade 模板。 在使用该附加组件之前,我使用 for 循环从坐标数
我是 React 的新手。我尝试在 React 项目中使用 npm 模块 overlapping-marker-spiderfier-leaflet。 我按照 https://www.npmjs.co
我是一名优秀的程序员,十分优秀!