javascript – 将传单插件添加到React-Leaflet
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 将传单插件添加到React-Leaflet,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1391字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 将传单插件添加到React-Leaflet](/upload/InfoBanner/zyjiaocheng/768/3f729237f5364503a14fbaa24d2f552d.jpg)
我正在尝试在react-leaflet v2中创建一个自定义组件,扩展了一个传单插件EdgeMarker.该文档并未真正提供有关如何执行此操作的详细信息.所以我从repo复制了Leaflet.EdgeMarker.js文件并将其添加到我的实现中.
这是我到目前为止所做的:
import PropTypes from 'prop-types';
import { MapLayer, withLeaflet } from 'react-leaflet';
import L from 'leaflet';
import '../EdgeMarker/EdgeMarker';
class EdgeMarkerComp extends MapLayer{
static childContextTypes = {
layerContainer: PropTypes.object
}
getChildContext () {
return {
layerContainer: this.leafletElement
}
}
createLeafletElement(props) {
const { options } = props;
console.log("Options: ", options);
return new L.EdgeMarker(options);
}
}
export default withLeaflet(EdgeMarkerComp);
在我的地图上:
const options = {
icon: L.icon({ // style markers
iconUrl: 'images/edge-arrow-marker-black.png',
clickable: true,
iconSize: [48, 48],
iconAnchor: [24, 24]
}),
rotateIcons: true,
layerGroup: null
};
<Map ...>
<EdgeMarkerComp options={options} />
</Map>
任何帮助???
解决方法:
我终于通过直接使用地图解决了这个问题.这更方便,在向地图添加交互时给了我更多自由.只需将地图定义如下,并使用地图参考执行任何操作:
<Map
ref={Map => this.map = Map}
...
>
...
<Map>
现在,您可以使用react-leaflet定义的this.map.leafletElement在任何传单对象中引用地图:
const polyline = L.polyline([p1,p2 ], {color: 'yellow'}).addTo(this.map.leafletElement);
上面的代码将在地图上添加一个新行.
polyline.remove(); =>将从地图中删除该行.
内容总结
以上是互联网集市为您收集整理的javascript – 将传单插件添加到React-Leaflet全部内容,希望文章能够帮你解决javascript – 将传单插件添加到React-Leaflet所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。