Openlayers 3 - 无法实现我的标记,但填充确实有效
Openlayers 3 - can't implement my marker but fill does work
我正在尝试向我的地图添加标记,但对我来说效果不太好。地图和坐标确实有效。我使用 setFillStrokeStyle 在位置上添加了一个点,这也有效,所以我认为我非常接近解决方案。
<script type="text/javascript">
var zoomIn = @Model.zoom;
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({ layer: 'osm' })
})
],
view: new ol.View({
center: ol.proj.fromLonLat([@Model.lng, @Model.lat]),
zoom: zoomIn
})
});
@*---This part is bugging, can't seem to implement this:--- *@
map.addOverlay(new ol.Overlay({
position: ol.proj.fromLonLat([@Model.lng, @Model.lat]),
element: $('<img src= "/OpenLayers-2.10/img/marker.png">')
.css({marginTop: '-200%', marginLeft: '-50%', cursor: 'pointer'})
.tooltip({title: @Model.Location, trigger: 'click'})
}));
@* ---This works if I uncomment this---
map.on('postcompose', function (evt) {
evt.vectorContext.setFillStrokeStyle(
new ol.style.Fill({ color: 'rgba(0, 0, 255, .5)' }),
new ol.style.Stroke({ color: 'rgba(0, 0, 255, .8)', width: 3 }));
evt.vectorContext.drawCircleGeometry(
new ol.geom.Circle(ol.proj.fromLonLat([@Model.lng, @Model.lat]), 40));
});*@
</script>
我的代码基于这篇文章:如何使用OpenLayers 3添加标记
我的微软边缘正在给出错误消息:SCRIPT16386:不支持此类接口,ol.js (422,95)
火狐给我:传递给 getElementById() 的空字符串。jquery.unobtrusive-ajax.js:31:20类型错误:Node.appendChild 的参数 1 未实现接口节点。
在加载页面时,我上传了 ol.js 脚本:
<script src="~/Scripts/ol.js"></script>
<link href="~/OpenLayers-2.10/theme/default/style.css" rel="stylesheet" />
<style>
.map {
height: 400px;
width: 100%;
}
</style>
有什么建议我做错了什么吗?提前感谢!
从 ol
的 3.12.0 版本(更改 #4485 https://github.com/openlayers/ol3/pull/4485/files)开始,该元素传递给 ol。覆盖必须是 HTML 元素,而不是 jQuery 元素,因此您需要执行以下操作来调整代码以适应此更改:
var myElement = $('<img src= "/OpenLayers-2.10/img/marker.png">')
.css({marginTop: '-200%', marginLeft: '-50%', cursor: 'pointer'})
.tooltip({title: @Model.Location, trigger: 'click'});
map.addOverlay(new ol.Overlay({
position: ol.proj.fromLonLat([@Model.lng, @Model.lat]),
element: myElement[0]
}));
相关文章:
- 如何设置html元素填充的动画
- 如何使用jquery在填充自动完成的值后使文本框只读
- 如何通过ajax刷新JSF填充的javascript变量
- 用与线条相同的颜色填充多折线图上的点
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何使用Node.js最有效地解析网页
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- HTML5使用Javascript填充文本标记的有效方式
- Openlayers 3 - 无法实现我的标记,但填充确实有效
- 有效的geoJson未填充谷歌地图标记
- 通过指定的时间间隔填充页面的最有效方法
- 一旦用户在输入字段中输入有效的美国邮政编码值,如何自动填充城市和州输入字段
- 在Javascript中基于其他信息填充数组的最有效方法是什么?
- 重新填充选择框的有效方法
- 有没有比循环更有效的填充下拉列表的方法?
- 用多维JSON填充表的有效方法
- 在Javascript中声明和填充多维数组的有效方法
- 如何有效地用许多静态键/值对填充Javascript对象文本
- 有效填充下拉列表:Javascript vs Database (Mysql-Django)