gpt4 book ai didi

javascript - Google map 标记不显示 JavaScript

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

var marker = new google.maps.Marker({
map: map,
position: point,
icon: 'pointer.png',
title: "test"
});

我的 map 加载器完美,但我的标记不会出现。

我不太明白为什么会发生这种情况?

编辑1:

以下是整个函数,希望能帮助解答您的一些问题:

 function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 16,
center: new google.maps.LatLng(<?php echo $userRow['latitude']; ?>, <?php echo $userRow['longitude']; ?>),
});
var infoWindow = new google.maps.InfoWindow;

// Change this depending on the name of your PHP or XML file
downloadUrl('http://xxx.esy.es/test/test-marker.php', function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName('marker');
Array.prototype.forEach.call(markers, function(markerElem) {
var name = markerElem.getAttribute('username');
var address = markerElem.getAttribute('address');
var point = new google.maps.LatLng(
parseFloat(markerElem.getAttribute('latitude')),
parseFloat(markerElem.getAttribute('longitude')));

var infowincontent = document.createElement('div');
var strong = document.createElement('strong');
strong.textContent = name
infowincontent.appendChild(strong);
infowincontent.appendChild(document.createElement('br'));

var text = document.createElement('text');
text.textContent = address
infowincontent.appendChild(text);
var marker = new google.maps.Marker({
map: map,
position: point,
icon: 'pointer.png',
title: "test"
});
marker.addListener('click', function() {
infoWindow.setContent(infowincontent);
infoWindow.open(map, marker);
});
});
});
}

编辑2

这是我的 xml 代码,它工作正常!这只是我在 map 上的标记不起作用

<?php
include_once 'test-dbconnect.php';
function parseToXML($htmlStr)
{
$xmlStr=str_replace('<','&lt;',$htmlStr);
$xmlStr=str_replace('>','&gt;',$xmlStr);
$xmlStr=str_replace('"','&quot;',$xmlStr);
$xmlStr=str_replace("'",'&#39;',$xmlStr);
$xmlStr=str_replace("&",'&amp;',$xmlStr);
return $xmlStr;
}


header("Content-type: text/xml");

// Start XML file, echo parent node
echo '<markers>';

$sql = "select * from tbl_users";
$result = mysqli_query($DBcon, $sql) or die("Error in Selecting " . mysqli_error($DBcon));

//create an array
$emparray = array();
while($row =mysqli_fetch_assoc($result))
{
$emparray[] = $row;

echo '<marker ';
echo 'name="' . parseToXML($row['username']) . '" ';
echo 'address="' . parseToXML($row['address']) . '" ';
echo 'lat="' . $row['latitude'] . '" ';
echo 'lng="' . $row['longitude'] . '" ';
echo '/>';
}


//close the db connection
mysqli_close($DBcon);

// End XML file
echo '</markers>';

?>

最佳答案

在您的 XML 中:

<marker name="test" address="sømærket 3 hørsholm" lat="55.880875" lng="12.448797"/>

在你的 JS 中:

markerElem.getAttribute('latitude')

您正在使用lat纬度lng经度名称用户名。因此,请确保使用正确的属性!

<小时/>

您可以通过在 JS 中使用这一行简单的代码轻松调试代码:

console.log(markerElem.getAttribute('latitude'));

并观察你的 javascript 控制台(在 Chrome 或 Firefox 等不错的浏览器中)。如果您不知道它在哪里,请检查您的浏览器文档。

关于javascript - Google map 标记不显示 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41768927/

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