gpt4 book ai didi

javascript - 在 OnClick 中将 Marker 作为变量传递会返回 [Object object] 而不是 Marker 对象

转载 作者:行者123 更新时间:2023-11-28 04:47:19 25 4
gpt4 key购买 nike

我有一个弹出表单,当单击传单 map 中的某些标记时会出现该表单。表单完成后,我想将输入的字段以及有关标记的一些详细信息发送到单独的函数。我现在开始只是发送标记来测试它,但遇到了问题。

但是当我通过函数传递标记并通过 console.log 运行它时,它返回 [Object object],而不是包含有关纬度、经度和其他内容的详细信息的标记。

var newMarker = new VietMarker (map.getCenter(), {
draggable: true
});

var popupHTML = '<form id="add-marker-form">' +
'<div class="form-group">' +
'<label for="marker-title">Title</label>' +
'<input type="text" class="form-control" id="marker-title" required="true">' +
'</div>' +
'<div class="form-group">' +
'<label for="marker-contributor">Contributor</label>' +
'<input type="text" class="form-control" id="marker-contributor">' +
'</div>' +
'<div class="form-group">' +
'<label for="marker-yt-link">Video link</label>' +
'<input type="text" class="form-control" id="marker-yt-link">' +
'</div>' +
'<div class="form-group">' +
'<label for="marker-description">Description</label>' +
'<textarea class="form-control" rows="3" id="marker-description"></textarea>' +
'</div>' +
'<input type="button" id="marker-submit" class="btn btn-primary btn-block" onClick="testMarker(\'' + newMarker + '\');" value="Add to Map" />' +
'</form>';

newMarker.bindPopup(popupHTML).addTo(map);

在我的 testMarker() 函数中:

function testMarker (markerToAdd) {
console.log(markerToAdd);
}

在console.log中返回[Object对象],没有子字段,而不是Marker对象。

最佳答案

生成弹出 HTML 时,连接运算符 (+) 使您将 newMarker 变量作为字符串插入。这就是错误。此时,newMarker 被转换为字符串,插入的值为“[Object object]”

您需要找到另一种方法将标记传递给单击按钮时调用的函数。

您可以有一个标记哈希表:

markers = {};
markers['new'] = new VietMarker (map.getCenter(), {
draggable: true
});

var popupHTML = '<form>.........'+
'<input type="button" id="marker-submit" class="btn '+
'btn-primary btn-block" onClick="testMarker(\'new\');" '+
'value="Add to Map" />';

markers['new'].bindPopup(popupHTML).addTo(map);

function testMarker (id) {
console.log(markers[id]);
}

关于javascript - 在 OnClick 中将 Marker 作为变量传递会返回 [Object object] 而不是 Marker 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43243849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com