Rumah >hujung hadapan web >tutorial js >Cara menggunakan Peta JS dan Baidu untuk melaksanakan fungsi julat peta
Cara menggunakan Peta JS dan Baidu untuk melaksanakan fungsi julat peta, contoh kod khusus diperlukan
Fungsi julat peta adalah untuk mengukur jarak antara dua titik pada peta. Dalam pembangunan bahagian hadapan, anda boleh menggunakan JS digabungkan dengan API Peta Baidu untuk melaksanakan fungsi ini.
Pertama, kami perlu memperkenalkan perpustakaan API Peta Baidu. Ia boleh diperkenalkan dengan menambahkan kod berikut dalam fail HTML:
<script src="http://api.map.baidu.com/api?v=2.0&ak=your_ak"></script>
di mana, your_ak
ialah kunci pembangun Peta Baidu anda, anda perlu pergi ke [Baidu Map Open Platform](https:// lbsyun. baidu.com/) memohon. your_ak
是你的百度地图开发者密钥,需要去[百度地图开放平台](https://lbsyun.baidu.com/)申请。
接下来,我们需要创建地图容器。在HTML文件中添加一个容器元素,如:
<div id="map" style="width: 100%; height: 400px;"></div>
然后,在JS文件中,我们可以使用百度地图的Map
、Marker
和Polyline
类来实现地图测距功能。
首先,我们需要创建地图对象,并将其显示在容器中。代码如下:
var map = new BMap.Map("map"); map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地图,设置中心点和缩放级别 map.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放
然后,我们需要在地图上添加两个标记点。一个标记点代表测距起点,另一个标记点代表测距终点。代码如下:
var startPoint, endPoint; var markerStart = new BMap.Marker(startPoint); var markerEnd = new BMap.Marker(endPoint); map.addOverlay(markerStart); map.addOverlay(markerEnd); // 点击地图事件,设置测距起点和终点的坐标 map.addEventListener("click", function(e){ if(!startPoint) { startPoint = e.point; markerStart.setPosition(startPoint); } else if (!endPoint) { endPoint = e.point; markerEnd.setPosition(endPoint); drawPolyline(); } });
在添加标记点之后,我们需要在地图上绘制连线来表示测距。我们可以使用Polyline
var polyline; function drawPolyline(){ if(polyline) { map.removeOverlay(polyline); } var points = [startPoint, endPoint]; polyline = new BMap.Polyline(points, {strokeColor:"red", strokeWeight:2, strokeOpacity:0.5}); map.addOverlay(polyline); }Kemudian, dalam fail JS, kita boleh menggunakan
Penanda
dan Polyline untuk melaksanakan fungsi julat peta. <p></p>Pertama, kita perlu mencipta objek peta dan memaparkannya dalam bekas. Kodnya adalah seperti berikut: <p><pre class='brush:javascript;toolbar:false;'>function calculateDistance(){
if(startPoint && endPoint){
var distance = map.getDistance(startPoint, endPoint).toFixed(2);
document.getElementById("distance").innerHTML = "距离:" + distance + "米";
}
}</pre></p> Kemudian, kita perlu menambah dua titik penanda pada peta. Satu titik markah mewakili titik permulaan ukuran jarak, dan titik tanda yang lain mewakili titik akhir pengukuran jarak. Kodnya adalah seperti berikut: <p><pre class='brush:html;toolbar:false;'><button onclick="calculateDistance()">计算距离</button>
<p id="distance"></p></pre></p>Selepas menambah titik penanda, kita perlu melukis garis penghubung pada peta untuk mewakili ukuran jarak. Kita boleh menggunakan kelas <code>Polyline
untuk mencapai ini. Kodnya adalah seperti berikut: rrreee
Akhir sekali, kita boleh mengira jarak antara dua titik dan memaparkannya pada halaman. Kod tersebut adalah seperti berikut: 🎜rrreee🎜Pada ketika ini, kami telah melengkapkan semua kod untuk melaksanakan fungsi julat peta menggunakan Peta JS dan Baidu. 🎜🎜Dalam fail HTML, kita boleh menambah butang untuk mencetuskan fungsi yang mengira jarak. Kodnya adalah seperti berikut: 🎜rrreee🎜Melalui langkah di atas, kami telah melaksanakan fungsi julat peta. Pengguna boleh mengklik dua titik pada peta dan kemudian klik butang Kira Jarak untuk memaparkan jarak antara dua titik pada halaman. 🎜🎜Saya harap artikel ini akan membantu anda memahami cara menggunakan Peta JS dan Baidu untuk melaksanakan fungsi julat peta. Jika anda mempunyai sebarang soalan, sila berasa bebas untuk bertanya. 🎜Atas ialah kandungan terperinci Cara menggunakan Peta JS dan Baidu untuk melaksanakan fungsi julat peta. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!