Oct 092010
 

Sorry, this entry is only available in Español.

  13 Responses to “(Español) Jugando con la API de Google Maps (VIII) – personalizar el mapa”

  1. Simplemente genial.

    Me parece una idea increíble lo de mezclar javascript con delphi para así aprovechar la API de google.

    Saludos

    • Gracias amigo

      La verdad es que sí, es genial y divertido a la vez 🙂

      Te adelanto en primicia, y ahora que no nos lee nadie, que en las próximas entregas miraré de mostrar cómo usar el StreetView (muy sencillo), el uso de polígonos y calcular rutas entre dos puntos.

      También investigaré cómo recoger información devuelta por el API y si me sale, también lo mostraré 🙂

      Espero que tenga tiempo para todo jejejeje

      Nos leemos

      PD: prácticamente no se JavaScript, así que si veis alguna estupidez en el código, espero me lo digáis 🙂

  2. Estoy comenzando con google maps, y solo quiero agradecer por tus explicaciones. Realmente son muy buenas y de gran ayuda.

    Estare a la espera de tus avances.

    Saludos.

  3. Te adelanto en primicia, y ahora que no nos lee nadie, que en las próximas entregas miraré de mostrar cómo usar el StreetView (muy sencillo), el uso de polígonos y calcular rutas entre dos puntos.

    Eso crees tu 😀

    Muy interesante este asunto, estoy esperado ver el StreetView 😉

    Saludos

  4. Lovely sharp post. Never thought that it was this easy. Extolment to you!

  5. que tal esta muy bueno tu blog estoy tratando de crear un mapa donde pongo varias coordenadas dentro de un array y verlas en el mapa con sus respectivas marca o crear una linea que los junte no se si me puedes ayudar te lo agardeceria musho

  6. bueno antes que nada cambie el javascript del makemarker por este

    ‘ function MakeMarker(Lat, Lng) { ‘ +
    ‘ var lugares = [ ‘+
    ‘[19.31144, -99.04433],’+
    ‘[19.31144, -99.04453],’+
    ‘[19.31144, -99.04473]’+
    ‘];’+
    ‘ for ( i = 0; i < lugares.length; i++) { '+
    ' var coord = lugares[i];'+
    ' var myLatLng = new google.maps.LatLng(coord[0], coord[1]);'+
    ' var marker = new google.maps.Marker({ '+
    ' position: myLatLng,'+
    ' map: map , ' +
    ' icon: ''http://google-maps-icons.googlecode.com/files/factory.png'&#039; '+
    ' }); '+
    '} ' +
    ' } '+

    cuando le das buscar si te manda todas las marcas pero solo lo hace con coordenadas
    que yo puse necesito llenar un tipo array con una consulta que seria algo asi

    procedure TForm1.Coor;
    begin
    ssql:= 'select Latitud, Longitud from fabricas Where Idfabricas = ' + inttostr(cbtFab.GetDato(cbtFab.ItemIndex)); '';
    query.SQL.Add(ssql);
    query.Open;
    if not query.Eof then
    begin
    while not query.Eof do
    begin
    idLat := Trim(query.fields[0].AsString);
    idLon := Trim(query.fields[1].AsString);
    Idlatitud [query.RecNo-1]:= QuotedStr(idLat);
    Idlongitud [query.RecNo-1]:= QuotedStr(idLong);
    query.Next;
    end;
    end;
    query.Close;
    end;
    el problema es que necesito hablar este array que se crea al javascript y cambiar las coordenadas en lugares por las del array no se si me explique espero me puedas ayudar de antemano mushas gracias

    • Buenas,

      Bueno, si te fijas en el ejemplo del artículo anterior, verás que necesitas un Array de markets global a todo el JS

          
       
            var map = null; 
            var markerArray = [];
      ......
      

      Y luego necesitarás dos funciones JS, una para el rellenado y otra para el borrado de markets

            
      function DeleteMarkers() { 
              for (i = 0; i < markerArray.length; i++) { 
                markerArray[i].setMap(null); 
              }
              markerArray = []; 
            } 
           
            function MakeMarker(Lat, Lng, titulo) { 
              var latlng = new google.maps.LatLng(Lat,Lng);
              var aMarker = new google.maps.Marker({ 
                  position: latlng, 
                  map: map, 
                  title: titulo 
                  }); 
              markerArray[markerArray.length] = aMarker; 
            } 
      

      Ahora sólo te queda hacer una llamada a estas funciones desde Delphi para tener las markets que quieras en cada momento. Primero haces una llamada a DeleteMarkers para quitar todas las marcas y luego, mediante un bucle, las llamadas necesarias a MakeMarker.

      Espero que te sirva

      Nos leemos
      cadetill

  7. ps mushas gracias si me sirvio de esho tan facil que era la solucion y yo complicandome la vida pero bueno es entretenido estar jugando con estas aplicaciones de nuevo gracias y felicitarte por tu blog
    Saludos

Leave a Reply to cadetill Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

This site uses Akismet to reduce spam. Learn how your comment data is processed.