Php Google Maps AP v3 I-尝试使用jQuery$.ajax动态添加标记

Php Google Maps AP v3 I-尝试使用jQuery$.ajax动态添加标记,php,javascript,google-maps,jquery,google-maps-api-3,Php,Javascript,Google Maps,Jquery,Google Maps Api 3,我正在使用Google Maps API v3为我的应用程序创建一个地图,以便在我们的网络广播中向观众显示。这个想法是当一个新的浏览者跳到流上时,在地图上添加一个新的标记。即不重新加载地图,只添加一个新标记 我试图通过ajax调用一个脚本来实现这一点,该脚本可以获取当前的查看器。我有一个控制台的输出来显示结果,并且纬度和经度坐标是正确的,所以我不知道为什么它没有把标记放在地图上 我在页面中引用与Ajax脚本调用相同的类,所以我可以在页面上的JavaScript中间做一个PHP FraceCURE

我正在使用Google Maps API v3为我的应用程序创建一个地图,以便在我们的网络广播中向观众显示。这个想法是当一个新的浏览者跳到流上时,在地图上添加一个新的标记。即不重新加载地图,只添加一个新标记

我试图通过ajax调用一个脚本来实现这一点,该脚本可以获取当前的查看器。我有一个控制台的输出来显示结果,并且纬度和经度坐标是正确的,所以我不知道为什么它没有把标记放在地图上

我在页面中引用与Ajax脚本调用相同的类,所以我可以在页面上的JavaScript中间做一个PHP FraceCURE循环,把标记放在地图上!但是,当然,我需要使用ajax来获取新的服务器端信息(新的查看器)

js与php foreach()配合使用(有效)

注意:这是我测试它的方式,它在$.ajax success函数中,但与ajax脚本无关

//添加标记
函数addMarker(流\u id){
$.ajax({
数据类型:“json”,
url:'../stream/'+stream_id+'/mapmarks',,
成功:功能(结果){
markers.push(新的google.maps.Marker)({
位置:新建google.maps.LatLng(),
地图:地图
}));
},
完成:函数(){
setTimeout(函数(){addMarker()},1000);
}
});
}
js与js for()(不起作用)

//添加标记
函数addMarker(流\u id){
$.ajax({
数据类型:“json”,
url:'../stream/'+stream_id+'/mapmarks',,
成功:功能(结果){
对于(变量i=0;i
试试这个

markers.push(new google.maps.Marker({
    position: new google.maps.LatLng(result[i]['latitude'], result[i]['longitude']),
    map: map
}));

您需要用实际的逗号而不是字符串来分隔参数

您在控制台上看到任何错误吗?
console.log(result)
的输出是什么?@koala\u dev没有错误。控制台的输出是
结果0:26.122299194336,26.122299194336
,这是有意义的,当我尝试它时,我得到了不同的结果。一半好,一半坏。这些标记现在显示在地图上,但佛罗里达州劳德代尔堡(美国)的标记应该是埃及的标记。这样可以将标记放在地图上,但它必须接收不同的lat和long?您的控制台中有这些值,使用这些值进行测试,并确定ajax结果是否给出了正确的坐标经度不正确,也许你对纬度和经度使用了相同的数字?@geocodezip似乎是这样,从问题中的注释来看,这两个值都是sameYes。我查了一下坐标,它们确实指向埃及。我的PHP示例给出了正确的坐标,但我的ajax示例没有给出。我得调查一下原因。
//add markers
function addMarker(stream_id) {
  $.ajax({
    dataType: 'json',
    url: '../../stream/' + stream_id + '/mapmarkers',
    success: function(result) {
      for(var i = 0; i < result.length; i++) {
          console.log('result ' + i + ': ' + result[i]['latitude'] + ', ' + result[i]['longitude']);

        markers.push(new google.maps.Marker({
          position: new google.maps.LatLng(result[i]['latitude'] + ', ' + result[i]['longitude']),
          map: map
        }));

      }

    },
    complete: function() {
      setTimeout(function(){addMarker(<?=$stream_id; ?>)}, 1000);
    }


  });
}
markers.push(new google.maps.Marker({
    position: new google.maps.LatLng(result[i]['latitude'], result[i]['longitude']),
    map: map
}));