0

OK私はこのような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

すぐに私の目を引いたのは、同じ名前の2つの異なる変数を宣言することですID_MARCADOR。次のように宣言するつもりだったようInfoWindowですpopID_MARCADOR。しかしそれ以外は、あなたのアプローチは良さそうです(私のPHPはかなり錆びていますが)。

于 2012-07-03T05:57:23.580 に答える
0

OK問題は解決しました= 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 に答える