Javascript 从web服务接收的数据在现有地图上添加标记

Javascript 从web服务接收的数据在现有地图上添加标记,javascript,jquery,html,ajax,google-maps-api-3,Javascript,Jquery,Html,Ajax,Google Maps Api 3,我想根据我的web服务接收到的数据,在现有的google地图中添加一个标记。我得到的纬度和经度没有问题。但我不知道该怎么做。下面是我的代码,以及我尝试执行的操作: <html> <head> ... <script> function initialize(){ var mapProp = { center:new google.maps.LatLng(25,-30), z

我想根据我的web服务接收到的数据,在现有的google地图中添加一个标记。我得到的纬度和经度没有问题。但我不知道该怎么做。下面是我的代码,以及我尝试执行的操作:

<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>

这里的问题是贴图对象在RenderListLocalizao中不可见。。。作用请注意地图是如何在初始化范围内创建的


尝试将映射设置为全局变量。如果在运行该函数时转储/查看其值,我猜您将看到映射未定义。

请按如下方式设置全局映射对象

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

    google.maps.event.addDomListener(window, 'load', initialize);
</script>
 <script>
    var globalMap=null;
    function initialize(){
        var mapProp = {
        center:new google.maps.LatLng(25,-30),
        zoom:2,
        mapTypeId:google.maps.MapTypeId.ROADMAP
        };
        globalMap=new google.maps.Map(document.getElementById("googleMap") ,mapProp);
    }

    google.maps.event.addDomListener(window, 'load', initialize);
</script>
  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: globalMap,
        title:"Former About.com Headquarters"
    });
});