leaflet 相关问题

Leaflet是一个开源JavaScript库,适用于移动设备友好的跨浏览器交互式地图。对于R传单包,请使用r-leaflet标签。

使用 Typescript 扩展传单标记

我正在开发一个使用 Typescript 和 Leaflet 的项目。 扩展传单标记的记录(JS)方法如下: L.Marker.Foo = L.Marker.extend({...}); 然而,Typescript 抱怨道: 属性...

回答 2 投票 0

图片中的网格来自leaflet-simple-map-screenshoter

我使用 leaflet-simple-map-screenshoter 在传单中截取屏幕截图。我用的是默认插件。为什么我在图片中看到网格? 让插件选项= { CropImageByInnerWH: true, // 裁剪

回答 1 投票 0

如何将地图居中于单击的标记

我遵循了这个例子:http://jsfiddle.net/abenrob/ZkC5M/。 当我单击标记时,我希望地图平移到该标记并将其放置在屏幕中心。我的代码如下,但是当我使用...

回答 3 投票 0

如何在传单控件中使用自定义图标?

我想用自定义按钮替换传单地图中的默认按钮,以便我可以在它们上应用我自己的样式和功能。 按钮已创建并放置在地图和功能中...

回答 1 投票 0

传单地图和 Google Mutant

安装1 - 安装 2 - 用了很长时间,几年了,现在突然不再出现了。 没有错误,只是不再出现在我的系统中。 没有谷歌底图。 我...

回答 1 投票 0

传单浏览器打印 - 如何将图像添加到打印结果的页眉?

我正在尝试打印带有标题的地图,其中包含两个图像之间的文本,但我没有找到正确的方法来执行此操作。 L.control.browserPrint({ 标题: '...', 文件Tit...

回答 1 投票 0

使用 Django 序列化程序在 Leaflet 地图上添加 geoJSON 数据时出现无效对象

我正在使用 Leaflet 和 Postgresql / PostGIS 开发 Django 应用程序。当我尝试在发送 GeoJSON 要素集合对象的地图上添加 MultiLineString 图层时,它会引发无效

回答 3 投票 0

Angular Leaflet 蔚蓝地图

随着 Bing 地图的弃用,我想用 Azure 地图中的传单地图替换 Angular 应用程序中的 Bing 地图图层。我已经安装了 azure-maps-leaflet 库,它是一个

回答 1 投票 0

如何提高传单图的清晰度?

我正在开发我的第一个地图应用程序。 与在线示例相比,我的应用程序上的地图很模糊。看着很痛苦,因为文字不清晰。 如何获取在线样本的清晰度?

回答 1 投票 0

如何在 Angular 17 中为传单图像配置加载器?

我是最近的 Angular 用户,我有一个 Angular 17 项目,带有传单地图。 当我尝试构建该项目时,传单地图的 3 个图像(标记图标和图层)出现 3 个错误: 是否...

回答 1 投票 0

如何将Leaflet Routing Machine与React-Leaflet 3结合使用?

react-leaflet 2.8.0 中的旧方法是使用 MapLayer 和 withLeaflet。 但现在在反应传单中: 从版本 3 开始,MapLayer 和 withLeaflet 已被弃用。 我试图抓住

回答 2 投票 0

传单地图未完全加载,当我打开检查元素时它将完全加载

下面是调用onclick事件的函数 函数drawMapFromWms(latt,longt){ document.getElementById('hrymap').innerHTML = ""; document.getElementById('hrymap').innerH...

回答 4 投票 0

基于最近点的插值的梯度叠加(热图?)

我的传单地图上有各种带有温度值的数据点。 我想添加一个渐变类型的叠加层,它根据最接近的已知值来插值每个像素的温度

回答 1 投票 0

添加数据时设置 geoJSON 点的样式

我有一张传单地图,其中显示了一些简单的 geoJSON 点标记。因为我是从外部 .geojson 文件加载它们,所以我使用这个函数: 异步函数 addPointGeoJson(layername,

回答 1 投票 0

SVG 扇区 (FoV) 与传单中缩放标记未对齐:如何保持对齐?

我正在开发一个基于传单的应用程序,在其中覆盖图像(平面图)并放置代表闭路电视摄像机的可拖动标记。 对于闭路电视摄像机,我显示它们的视野 (FoV) ...

回答 1 投票 0

我可以使用传单从地图上剪下一个区域并将其余区域涂黑吗?

我使用传单在我的网站上显示地图。我想将除了我显示的多边形区域之外的所有内容都涂黑。例如,用黑色背景显示地图的其余部分(也许......

回答 1 投票 0

尝试发出 Angular v17 时,子组件中的@Output 未定义

我有一个列表组件,显示带有手风琴元素的对象。 在扩展手风琴主体时,我使用 (click)="addToArray(id)" 方法并有 我有一个列表组件,显示带有手风琴元素的对象。 在扩展手风琴主体时,我使用 (click)="addToArray(id)" 方法,并在手风琴主体中有 <edit-component *ngIf="idArray.includes(id)"></edit-component>。 原因是在手风琴展开后加载edit-component,因为它包含一个传单地图,在手风琴最初折叠时无法正确显示。 现在,edit-component 包括一些输入和处理和验证这些输入的方法,以及 map-input-component。它使用的是 Leaflet,我不得不将 .map-container 放入 edit-component 模板中,因为它在自己的组件中找不到 DOM 元素.. 我希望此地图组件在用户单击地图的位置发出,并且已阅读传单事件并希望使用 @Output 将其发出到 edit-component 父级。 但是,当我尝试访问 this.mapClickEvent 时,它是未定义的。 我怀疑这可能是因为组件是在运行时加载的? 我唯一的选择是将地图直接包含在 edit-component 中吗? 编辑.component.ts @Component({ selector: "edit-component", templateUrl: "./edit.component.html" }) export class EditComponent { @Input() myObject!: myObjectInterface; // Methods for other inputs onMapClick(event: {lat: number, lng: number}){ console.log(event) } } edit.component.html <div class="row"> <!-- Other cols with inputs --> <div class="col"> <div class="map-container" [attr.id]="'map-input-' + myObject.id"></div> <map-input-component [object]="myObject" (mapClickEvent)="onMapClick($event)" ></map-input-component> </div> </div> map-input.component.ts @Component({ selector: "map-input-component", template: "", standalone: true }) export class MapInputComponent { @Input() object!: myObjectInterface; @Output() mapClickEvent = new EventEmitter<{lat: number, lng: number}>(); // Leaflet map setup with L.on("click", this.onMapClick) onMapClick(e: LeafletMouseEvent) { // A console.log(e) logs the wanted data // A console.log(this.mapClickEvent) logs undefined this.mapClickEvent.emit({lat: e.latlng.lat, lng: e.latlng.lng}); } } 错误 ERROR TypeError: Cannot read properties of undefined (reading 'emit') at NewClass.onMapClick (map-input.component.ts:132:24) at NewClass.fire (leaflet-src.js:606:11) at NewClass._fireDOMEvent (leaflet-src.js:4565:17) at NewClass._handleDOMEvent (leaflet-src.js:4514:10) at HTMLDivElement.handler (leaflet-src.js:2799:15) at _ZoneDelegate.invokeTask (zone.js:398:33) at core.mjs:14556:55 at AsyncStackTaggingZoneSpec.onInvokeTask (core.mjs:14556:36) at _ZoneDelegate.invokeTask (zone.js:397:38) at Object.onInvokeTask (core.mjs:14869:33) 当您将 mapClickEvent 设置为 Leafset 时,请确保将 bind 设置为组件的范围,您可以使用 .bind(this) 来完成此操作。 无论函数在哪里执行,它总是具有组件的作用域。 L.on("click", this.onMapClick.bind(this)) 根据共享的代码,它应该是: const leafletMap: Map = map(mapContainer).on("click", this.onMapClick.bind(this));

回答 1 投票 0

LeafLet 地图无法在模态上正确渲染

我正在从事一个大学项目,我对 JS 编码很陌生,我遇到了一个问题,我正在使用 w3 库实现我的应用程序,并且当用户 cli 时会显示一个模式窗口...

回答 2 投票 0

如何使用 React-Leaflettilelayer 的访问令牌而不将其暴露在前端?

以下是需要访问令牌的 React Leaflet TileLayer 组件的样子: 这是需要访问令牌的 React Leaflet TileLayer 组件的样子: <TileLayer url='https://tile.jawg.io/jawg-sunny/{z}/{x}/{y}{r}.png?access-token=1234567890' attribution='<a href="https://jawg.io" title="Tiles Courtesy of Jawg Maps" target="_blank">&copy; <b>Jawg</b>Maps</a> &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' /> 但是即使我使用 .env 文件中的环境变量,例如 const jawgAccessToken = import.meta.env.VITE_JAWG_TOKEN <TileLayer url=`https://tile.jawg.io/jawg-sunny/{z}/{x}/{y}{r}.png?access-token=${jawgAccessToken}` attribution='<a href="https://jawg.io" title="Tiles Courtesy of Jawg Maps" target="_blank">&copy; <b>Jawg</b>Maps</a> &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' /> 而不是硬编码它,它仍然会暴露,因为我的 React 组件位于前端。 如何在不暴露我的秘密令牌的情况下访问此瓦片层? 我正在考虑从前端到后端进行中继,例如将 TileLayer 组件中的 url 替换为后端的 url,其中我通过向 Jawg url 发出 GET 请求然后返回来处理 GET 请求到前端。但我怀疑这是否足够,而且这似乎是一个足够常见的问题(肯定其他人需要使用tilelayer访问令牌而不暴露它们?)我希望有人能够对此问题提供最佳实践答案。 谢谢! 看起来“最佳实践”答案是在创建访问令牌时添加 URL 限制

回答 1 投票 0

如何检测点是否位于具有立交桥的自然区域(或其他类型)多边形内部?

我试图弄清楚如何检测纬度/经度对(-25.70078,-54.44522)是否在自然区域多边形内。 有更好的解决方案吗? 到目前为止我有这样的事情: https://ov...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.