Ir al contenido


Foto

Cambiar las propiedades de una polilinea después de su creación


  • Por favor identifícate para responder
2 respuestas en este tema

#1 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 21 octubre 2011 - 12:45

Buenas,

Volviendo a retomar mis "estudios" sobre el API de Google Maps, me he encontrado con algo que no logro hacer funcionar. Estoy mirando de hacer un ejemplo de uso de la clase polyline y, bueno, funcionar me funciona, no es complicado. El problema me radica cuando quiero intentar cambiar las propiedades de la polilinea creada. No hay manera.

Según la API, esta clase tiene un método para ello, setOptions, pero no me funciona una llamada a éste.

El código JavaScript es el siguiente. Vereis que hay 3 funciones, una de inicialización llamada en el OnLoad del body, otra para cambiar los parámetros de la polilinea y otra para añadir los puntos a la polilinea que determinarán las líneas a dibujar.

[js]
    <script type="text/javascript">
      var map = null;
      var polyline = null;

      function initialize() {
        var latlng = new google.maps.LatLng(41.118628, 1.244779);
        var myOptions = {
          zoom: 18,
          center: latlng,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        routes = new google.maps.MVCArray();
        polyline = new google.maps.Polyline({
                path: routes
                , map: map
                , strokeColor: 0xff0000
                , strokeWeight: 3
                , strokeOpacity: 1
                , clickable: false
            });
      }

      function SetParams(Color, LineWeight, Opacity, Clicable) {
        polyline.setOptions({
                strokeColor: Color,
                strokeWeight: LineWeight,
                strokeOpacity: Opacity,
                clickable: Clicable
                          });
      }

      function AddCoord(lat, lon) {
        var path = polyline.getPath();
        var latlng = new google.maps.LatLng(lat, lon);
        path.push(latlng)
      }
[/js]


Pues bien, cuando añado puntos a la polilinea para que éstos formen las líneas a dibujar, por mucho que yo haga una llamada a la función SetParams, éstas quedan dibujadas con los valores dados en la construcción de la polilinea.

Alguna idea de lo que puedo estar haciendo mal?

Gracias

Nos leemos

PD: la función AddCoord funciona correctamente


  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 21 octubre 2011 - 07:01

Mas bien me parece cuestion de refrescado, ahora mismo de momento no se me ocurre nada, me limito a decir que es muy probable que en esta ocasion deberas utilizar AJAX, ahora no se si es solo puro javaScript o PHP con JS etc.
  • 0

#3 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 22 octubre 2011 - 03:44

Buenas enecumene

Pues es todo JS. Bueno, las llamadas a las funciones JS las hago desde Delphi jejejeje

Lo que más me extraña o mosquea es que el cambio de los puntos que definen las lineas sí me funciona, pero el cambio el cambio de propiedades no :(

Voy a intentar hacer una paginilla a ver si desde el mismo JS funciona, a ver si es cuestión de cómo le paso los datos desde Delphi.

Nos leemos
cadetill
  • 0




IP.Board spam blocked by CleanTalk.