所以,我需要使用地址中的纬度和对数来创建一个可拖动的标记。为了从地址中获取 lat 和 lng,我做了这个函数:
var longit;
var lati;
function searchGeocoding() {
map.removeObjects(map.getObjects());
let search;
search = document.getElementById("myText").value;
service.geocode(
{
q: search,
},
(result) => {
result.items.forEach((item) => {
map.setCenter(item.position);
map.setZoom(16);
lati = item.position.lat;
longit = item.position.lng;
addDraggableMarker(map, behavior);
});
},
alert
);
}
哪个工作正常。但是,当我尝试使用 Here API Docs 中的示例创建可拖动标记时,它给了我以下错误:
mapsjs-core.js:43 Uncaught InvalidArgumentError: H.map.AbstractMarker#setGeometry (Argument #0 undefined)
at new D (https://js.api.here.com/v3/3.1/mapsjs-core.js:43:977)
at Xf (https://js.api.here.com/v3/3.1/mapsjs-core.js:89:407)
at on.ai.ba (https://js.api.here.com/v3/3.1/mapsjs-core.js:177:548)
at on.ai [as constructor] (https://js.api.here.com/v3/3.1/mapsjs-core.js:177:309)
at new on (https://js.api.here.com/v3/3.1/mapsjs-core.js:395:290)
at addDraggableMarker (http://127.0.0.1:5500/js/test.js:32:16)
at http://127.0.0.1:5500/js/test.js:21:9
at Array.forEach (<anonymous>)
at http://127.0.0.1:5500/js/test.js:14:20
at e.f (https://js.api.here.com/v3/3.1/mapsjs-core.js:31:102)
addDraggableMarker 函数也有问题,我注意到它没有超过 marker.draggable = true; 线。您可以在此处查看示例代码(我使用的是完全相同的代码,除了 lat:42.35805,lng:-71.0636 是 lat:lati 和 lng:longit。