javascript - 不理解传单中 latLngBounds 的语法
问题描述
传单 latLngBounds() 函数有一个方法 getCenter() 但我不明白返回该值的语法。
var mk5 = L.latLngBounds.getCenter(); returns an error
var mk5 = L.latLngBounds().getCenter(); returns an error
var mk5 = L.latLngBounds({getCenter()}); returns an error
找到一个使用它的例子是不可能的。有人请告诉我使用这种方法的语法。
解决方案
正如文档所示:
- 创建第一个角:
var corner1 = L.latLng(40.712, -74.227);
- 创建第二个角:
var corner2 = L.latLng(40.774, -74.125);
- 创建边界:
bounds = L.latLngBounds(corner1, corner2);
- 从实例调用
getCenter
方法:bounds
bounds.getCenter()
这是一个例子:
<!DOCTYPE html>
<html>
<head>
<title>Quick Start - Leaflet</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" type="image/x-icon" href="docs/images/favicon.ico" />
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin="" />
<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js" integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew==" crossorigin=""></script>
</head>
<body>
<div id="mapid" style="width: 600px; height: 400px;"></div>
<script>
var mymap = L.map('mapid').setView([51.505, -0.09], 2);
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
maxZoom: 18,
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
id: 'mapbox/streets-v11',
tileSize: 512,
zoomOffset: -1
}).addTo(mymap);
var corner1 = L.latLng(40.712, -74.227),
corner2 = L.latLng(40.774, -74.125),
bounds = L.latLngBounds(corner1, corner2)
var rect = L.rectangle(bounds, {
color: 'blue',
weight: 1
}).addTo(mymap);
mymap.fitBounds(bounds)
const markerCoords = bounds.getCenter()
L.marker(markerCoords).addTo(mymap)
</script>
</body>
</html>
推荐阅读
- linux - 如何将 linux bash 脚本输出定向到每台主机一行
- xml - 如何使用 Leafref 在 YANG 模型中实现递归?
- python - 访问生成的 QT 小部件
- python - 为什么 Python pandas 将任意时间信息分配给 datetime 对象?
- javascript - 当鼠标悬停时使用 JavaScript 制作一个 div 会改变它的背景
- ios - 如何通过在一个屏幕中导航用户来阻止用户
- javascript - 如何在角度组件中使用 javascript 变量
- jenkins - 检查资源是否被锁定
- javascript - 如何从 jQuery 中的引用页面获取 URL
- asp.net-core-2.1 - [FromForm]、[FromQuery]、[FromBody]、[FromHeader]、[FromQuery]、[FromRoute]