0

好的,我从这样的 mysql 查询中有一个名为 $datos 的 PHP 变量

[{"id_marcador":"1","posicion_marcador":"43.011781,-7.55736","titulo_marcador":"Centro de Lugo","dia":"si"},   {"id_marcador":"2","posicion_marcador":"42.991245,-7.545051","titulo_marcador":null,"dia":"no"},{"id_marcador":"3","posicion_marcador":"43.023336,-7.568511","titulo_marcador":null,"dia":"si"},{"id_marcador":"4","posicion_marcador":"42.989965,-7.547188","titulo_marcador":null,"dia":"si"},{"id_marcador":"5","posicion_marcador":"42.989589770827806, -7.547167422409075","titulo_marcador":null,"dia":"si"},{"id_marcador":"6","posicion_marcador":"43.020283,-7.533301","titulo_marcador":"HULA mostrador de citas","dia":"si"},{"id_marcador":"7","posicion_marcador":"43.021092,-7.533697","titulo_marcador":"HULA consultas","dia":"si"},{"id_marcador":"8","posicion_marcador":"43.013792,-7.557657","titulo_marcador":"Recreo plaza de Ferrol","dia":"si"},{"id_marcador":"9","posicion_marcador":"43.024084,-7.567178","titulo_marcador":"El Afilador","dia":"si"},{"id_marcador":"10","posicion_marcador":"43.005945,-7.555733","titulo_marcador":null,"dia":"si"},{"id_marcador":"11","posicion_marcador":"43.005384,-7.555138","titulo_marcador":null,"dia":"si"}]

此变量将返回到 Json 表单,现在我必须将此值放入 googlemaps 标记格式,如下所示:

var ID_MARCADOR = new google.maps.Marker(
{
    position: new google.maps.LatLng (POSICION_MARCADOR),
    map: map,
    title: 'TITULO_MARCADOR',
    icon: 'iconos/gente.png'
});

var ID_MARCADOR = new google.maps.InfoWindow(
{
   content:'TITULO_MARCADOR'
});

google.maps.event.addListener(ID_MARCADOR,'click',       function{popID_MARCADOR.open(map,ID_MARCADOR);})

所以问题是......如何生成所有标记以及如何在我的地图中初始化它们?也许使用这样的东西?

JSONsuccess: function(data){
   results(data);

function results(data) 
{
  $.each(data,function(index,value)
  {
    var data[0] = new google.maps.Marker(
     {
       position: new google.maps.LatLng (data[1]),
       map: map,
       title: data[2],
       icon: 'iconos/gente.png'
       ETC...
       ETC...
      });
 }

感谢您的回答和帮助!=D

4

2 回答 2

0

立即引起我注意的一件事是您声明了两个具有相同名称的不同变量:ID_MARCADOR. 看起来您打算将其声明InfoWindow为:popID_MARCADOR。但除此之外,您的方法看起来不错(尽管我的 PHP 很生疏)。

于 2012-07-03T05:57:23.580 回答
0

好的问题解决了=D这里是正确的代码。从数据库接收 Json 数据

$.getJSON("automatizar1.php",{que:'marcadores'},function(json)
{
   marcadores(json);          
});

数组格式:

{"id_marcador":"1","lat_marcador":"43.0118","long_marcador":"-7.55736","titulo_marcador":"Centro de Lugo","tipo_marcador":"trafico","nombre_mp3":"centro","dia":"si"}

神奇的功能

function marcadores(json)
 {

      $.each(json,function(index,value)
      { 

            var id ="a"+json[index].id_marcador;
            var popid="pop"+json[index].id_marcador;
            var lat=json[index].lat_marcador;
            var long=json[index].long_marcador;
            var titulo=json[index].titulo_marcador;
            var icono=json[index].tipo_marcador;


            id = new google.maps.Marker(
            {
              position: new google.maps.LatLng (lat, long),
              map: map,
              title: titulo,
              icon: 'iconos/'+icono+'.png'
            }); 


            popid = new google.maps.InfoWindow(
            {
                content:'mycontent'

            });

            google.maps.event.addListener(id,'click', function(){popid.open(map,id);});     

      });
}
于 2012-07-03T20:12:47.243 回答