Leaflet根據坐標畫圓形區域

在做地圖應用時,有時需要根據指定的坐標來畫一個圓形區域,比如簽到打卡類的應用,此時我們可以使用 leaflet.Circle 來在在指定坐標上創建一個圓并添加到的地圖上,其中可以通過 radius 屬性可以指定區域半徑,比如:

const circle = leaflet.circle([lat, lng], {color: 'red',fillColor: 'red',fillOpacity: 0.5,radius: 100,
}).addTo(this.map);

完整例子如下

import { Component, OnInit, AfterViewInit } from "@angular/core";
import * as leaflet from "leaflet";@Component({selector: "app-map-circle",templateUrl: "./map-circle.component.html",styleUrls: ["./map-circle.component.css"],
})
export class MapCircleComponent implements OnInit, AfterViewInit {map!: leaflet.Map;constructor() {}ngOnInit(): void {}ngAfterViewInit(): void {this.initMap();}private initMap(): void {this.map = leaflet.map("map").setView([51.5, -0.09], 16);const tiles = leaflet.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png", {maxZoom: 19,attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',});tiles.addTo(this.map);let marker: leaflet.Marker | null = null;let circle: leaflet.Circle | null = null;this.map.on("click", (e) => {console.log(e.latlng);if (marker) {this.map.removeLayer(marker);}const icon = leaflet.icon({iconUrl: "media/marker-icon.png",iconSize: [25, 41],iconAnchor: [12, 41]});marker = leaflet.marker([e.latlng.lat, e.latlng.lng], {icon: icon}).addTo(this.map);if (circle) {this.map.removeLayer(circle);}circle = this.createCircle(e.latlng.lat, e.latlng.lng, "red").addTo(this.map);});}private createCircle(lat: number, lng: number, color: string): leaflet.Circle {return leaflet.circle([lat, lng], {color: color,fillColor: color,fillOpacity: 0.5,radius: 100,});}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906776.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906776.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906776.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue3中使用computed

在 Vue 3 中&#xff0c;computed 是一個非常重要的響應式 API&#xff0c;用于聲明依賴于其他響應式狀態的派生狀態。以下是 computed 的詳細用法&#xff1a; 1. 基本用法 import { ref, computed } from vueexport default {setup() {const firstName ref(張)const lastN…

【iOS】類結構分析

前言 之前我們已經探索得出對象的本質就是一個帶有isa指針的結構體&#xff0c;這篇文章來分析一下類的結構以及類的底層原理。 類的本質 類的本質 我們在main函數中寫入以上代碼&#xff0c;然后利用clang對其進行反編譯&#xff0c;可以得到c文件 可以看到底層使用Class接…

Vanna.AI:解鎖連表查詢的新境界

Vanna.AI&#xff1a;解鎖連表查詢的新境界 在當今數字化時代&#xff0c;數據已成為企業決策的核心驅動力。然而&#xff0c;從海量數據中提取有價值的信息并非易事&#xff0c;尤其是當數據分散在多個表中時&#xff0c;連表查詢成為了數據分析師和開發者的日常挑戰。傳統的…

前端流行框架Vue3教程:24.動態組件

24.動態組件 有些場景會需要在兩個組件間來回切換&#xff0c;比如 Tab 界面 我們準備好A B兩個組件ComponentA ComponentA App.vue代碼如下&#xff1a; <script> import ComponentA from "./components/ComponentA.vue" import ComponentB from "./…

海拔案例分享-實踐活動報名測評小程序

大家好&#xff0c;今天湖南海拔科技想和大家分享一款實踐活動報名測評小程序&#xff0c;客戶是長沙一家專注青少年科創教育的機構&#xff0c;這家機構平時要組織各種科創比賽、培訓課程&#xff0c;隨著學員增多&#xff0c;管理上的問題日益凸顯&#xff1a;每次組織活動&a…

【MySQL】CRUD

CRUD 簡介 CRUD是對數據庫中的記錄進行基本的增刪改查操作 Create&#xff08;創建&#xff09;Retrieve&#xff08;讀取&#xff09;Update&#xff08;更新&#xff09;Delete&#xff08;刪除&#xff09; 一、新增&#xff08;Create&#xff09; 語法&#xff1a; I…

【數據架構04】數據湖架構篇

? 10張高質量數據治理架構圖 無論你是數據架構師、治理專家&#xff0c;還是數字化轉型負責人&#xff0c;這份資料庫都能為你提供體系化參考&#xff0c;高效解決“架構設計難、流程不清、平臺搭建慢”的痛點&#xff01; &#x1f31f;限時推薦&#xff0c;速速收藏&#…

【Java Web】3.SpringBootWeb請求響應

&#x1f4d8;博客主頁&#xff1a;程序員葵安 &#x1faf6;感謝大家點贊&#x1f44d;&#x1f3fb;收藏?評論?&#x1f3fb; 文章目錄 一、請求 1.1 postman 1.2 簡單參數 1.3 實體參數 1.4 數組集合參數 1.5 日期參數 1.6 JSON參數 1.7 路徑參數 二、響應 2…

競爭性學習:無監督世界的智能聚類引擎

一、競爭性學習&#xff1a;無監督聚類的生物啟發范式 1.1 核心原理&#xff1a;神經元的 “適者生存” 競爭性學習模擬生物神經網絡的競爭機制&#xff1a;多個神經元對輸入數據 “競爭響應”&#xff0c;獲勝神經元&#xff08;與輸入最匹配&#xff09;更新權重&#xff0…

docker面試題(5)

Docker安全么 Docker 利用了 Linux 內核中很多安全特性來保證不同容器之間的隔離&#xff0c;并且通過簽名機制來對鏡像進行 驗證。大量生產環境的部署證明&#xff0c;Docker 雖然隔離性無法與虛擬機相比&#xff0c;但仍然具有極高的安全性。 如何清理后臺停止的容器 可以使用…

同為科技 智能PDU產品選型介紹 EN10/I801CI

智能PDU是一種利用信息技術手段&#xff0c;優化電力的分配和使用。隨著數據中心進行虛擬化部署和為提高計算效率而整合設備&#xff0c;平均機架功率密度在持續增長&#xff0c;幾年前&#xff0c;一個普通機柜需要3-4千瓦電力&#xff0c;而現今9-15千瓦甚至更高電力的機柜則…

Aciviti工作流

1. springBoot和activiti整合 pom.xml文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…

golang 對象池sync.Pool的實現

Go語言中sync.Pool通過多級緩存機制實現高效對象復用&#xff0c;其核心設計結合了GMP調度模型特性。以下是實現要點分析&#xff1a; P o o l ∑ p 0 G O M A X P R O C S ( l o c a l P o o l p ) v i c t i m C a c h e Pool \sum_{p0}^{GOMAXPROCS}(localPool_p) vict…

Docker run命令-p參數詳解

端口映射基礎語法 docker run -p <宿主機端口>:<容器端口> 操作示例 docker run -d --restartalways --namespug -p 5000:80 registry.aliyuncs.com/openspug/spug參數解析 -d&#xff1a;后臺運行容器--restartalways&#xff1a;設置容器自動重啟--namespug&…

《2.1.4 C語言中的整數類型及類型轉換|精講篇》

后面作者會在2025.5.25 00:00前整理出筆記和思維導圖大家放心&#xff0c;主頁還有其他文章 請先移步歡迎參考 收藏文章 關注博主 高效學習 好了&#xff0c;這小節我們要探討一個相對來說簡單的問題&#xff0c;就是C語言里邊的那些定點整數是如何進行強制類型轉換的。好來看這…

采用多維計算策略(分子動力學模擬+機器學習),顯著提升 α-半乳糖苷酶熱穩定性

字數 978&#xff0c;閱讀大約需 5 分鐘 在工業應用領域&#xff0c;α-半乳糖苷酶在食品加工、動物營養及醫療等方面發揮著重要作用。然而&#xff0c;微生物來源的該酶往往存在熱穩定性不足的問題&#xff0c;限制了其在工業場景中的高效應用。近日&#xff0c;來自江南大學的…

Jetpack Compose預覽調試技巧

Jetpack Compose 預覽(Preview)不顯示是一個常見問題,可能由多種原因導致。以下是系統的調試技巧和解決方案: 1. 檢查基礎配置 Compose 版本兼容性 確保 compose-compiler、compose-ui 等依賴版本一致且與 Kotlin 版本兼容。檢查 build.gradle: android {compileOptions {…

使用 Go 語言實現完整且輕量級高性能的 MQTT Broker

MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一種輕量級的發布/訂閱消息傳輸協議。但是目前雖然mqtt的客戶端很多&#xff0c;但是服務端著實不多&#xff0c;常見的服務端如mosquitto或emqx。但是golang語言的實現幾乎找不到。golang的輕量級部署和高并…

uv sync --frozen卡住不動

今天受邀幫同事調試uv卡住不動的問題&#xff0c;同樣的代碼已經在別的服務器跑起來了&#xff0c;換了一臺服務器之后&#xff0c;執行uv sync --frozen沒有按預期創建虛擬環境和安裝依賴。 1. 鏡像源是已經配置好的&#xff0c;pip install也能很快安裝包。 2. 查看了uv.lo…

Spring Boot中如何對密碼等敏感信息進行脫敏處理

以下是常見的脫敏方法及實現步驟&#xff0c;涵蓋配置、日志和API響應等多個層面&#xff1a; ?1. 配置文件敏感信息脫敏? (1) 使用加密庫&#xff08;如Jasypt&#xff09; ?步驟?&#xff1a; 添加依賴&#xff1a; <dependency><groupId>com.github.ulise…