gpt4 book ai didi

javascript - 根据 Web 服务接收的数据在现有 map 上添加标记

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

我想根据我的网络服务收到的数据将标记添加到现有的谷歌地图中。我毫无问题地获得了纬度和经度。但我不知道该怎么做。这是我的代码,以及我尝试做的事情:

<html>
<head>
...
<script>
function initialize(){
var mapProp = {
center:new google.maps.LatLng(25,-30),
zoom:2,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map=new google.maps.Map(document.getElementById("googleMap") ,mapProp);
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
...
<div class="col-md-8">
<div id="googleMap" style="width:700px;height:350px; border-radius:20px;"></div>
</div>
...

<script src="../front-end/js/main.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#jogadoresList").click(function () {
$("#index").hide();
$("#selecoes").hide();
$("#jogador").show();
initialize();
});

});
</body>

main.js

function findByIdLocationTwitterJogador(id){
console.log('findJTwitterByJogadorrrrrr AQUIIIIIIIIII' + id);
$.ajax({
type: 'GET',
url: rootURLLocalizacao +'/' + id,
dataType: "json", // data type of response
success: renderListLocalizacao
});
}


function renderListLocalizacao(data) {
// JAX-RS serializes an empty list as null, and a 'collection of one' as an object (not an 'array of one')
var list = data == null ? [] : (data.dados instanceof Array ? data.dados : [data.jogo]);

$.each(list, function(index, jogo) {
var myLatlng = new google.maps.LatLng(jogo.latitude,jogo.longitude);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"Former About.com Headquarters"
});
});
}

最佳答案

此处的问题是“map”对象在 renderListLocalizacao(...) 函数中不可见。请注意您的 map 是如何在 initialize() 范围内创建的

尝试将 map 设为全局变量。如果您在运行该函数时转储/查看其值,我猜您会看到 mapundefined

关于javascript - 根据 Web 服务接收的数据在现有 map 上添加标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23847019/

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