ArcGIS API for JavaScript 4.2学习笔记[14] 弹窗的位置、为弹窗添加元素
时间: 2024-03-01 11:51:35 浏览: 167
ArcGIS API For JavaScript
好的,我会注意保密。针对你的问题,我来给你解答一下。
对于弹窗的位置,可以通过设置弹窗的锚点(anchor)和偏移量(offset)来进行调整。锚点可以是弹窗的中心点(center)、右上角的点(upper-right)、左上角的点(upper-left)、左下角的点(lower-left)或者右下角的点(lower-right)。偏移量可以分别设置水平和垂直方向的偏移量,可以为正数或负数。
下面是一个示例代码:
```
require([
"esri/Map",
"esri/views/MapView",
"esri/widgets/Popup",
"dojo/dom-construct",
"dojo/dom-style",
"dojo/on",
"dojo/domReady!"
], function(Map, MapView, Popup, domConstruct, domStyle, on) {
var map = new Map({
basemap: "streets"
});
var view = new MapView({
container: "viewDiv",
map: map,
center: [-118.805, 34.027],
zoom: 13
});
var popup = new Popup({
anchor: "center", // 设置锚点为中心点
offset: [0, -15], // 设置垂直方向的偏移量为-15
visibleWhenEmpty: false, // 当没有内容时不显示弹窗
view: view
});
view.popup = popup;
view.on("click", function(event) {
var lat = event.mapPoint.latitude.toFixed(3);
var lon = event.mapPoint.longitude.toFixed(3);
var content = domConstruct.create("div", {
innerHTML: "Latitude: " + lat + "<br>Longitude: " + lon
});
popup.content = content;
popup.open({
location: event.mapPoint
});
});
});
```
对于为弹窗添加元素,可以使用 dojo/dom-construct 模块来进行创建和添加。可以使用这个模块的 create() 方法来创建 HTML 元素,然后使用 popup.content 属性来添加到弹窗中。
下面是一个示例代码:
```
var content = domConstruct.create("div", {
innerHTML: "<b>Hello, world!</b>"
});
popup.content = content;
popup.open({
location: event.mapPoint
});
```
希望这些信息能够帮到你,如果你还有其他问题,请随时提出。
阅读全文