2011-05-05 8 views
8

¿Hay algún ejemplo de un mapa de Google que tenga un lienzo grande como superposición? Me está costando posicionar el lienzo cada vez que el mapa se acerca o se mueve.Lienzo HTML como superposición en Google Maps

+0

Esto no es todo una respuesta, ya que utiliza svg, pero hay una gran biblioteca llamada d3 con un ejemplo pertinente aquí: https://gist.github.com/899711 Puede adaptarse al lienzo, por ejemplo, con algo tan simple como esto: http://www.svgopen.org/2010/papers/62-From_SVG_to_Canvas_and_Back/index.html#canvas_to_svg o algo más elegante como fabric.js, especialmente https://github.com/kangax/fabric. js/blob/d42ba6ec027274ed89c8262dfc3935b10e81f479/src/parser.js # L431 – unmounted

Respuesta

2

Pruebe el método de límites del mapa, obtenga la vista noreste y suroeste del mapa visualizable actual y use una función js para modificar la superposición en cada zoom para cambiar la posición de forma dinámica.

mapBound = map.getBounds(); 
northEndOfMap =mapBound.getNorthEast(); 

y para obtener un mapa zoom map.getZoom();
Consulte: http://code.google.com/apis/maps/documentation/javascript/reference.html#Map

+0

Eso es similar a lo que terminé haciendo. Obtienes el punto suroeste, menos la altura para obtener el punto noroeste, lo conviertes de latlng a píxel y configuras el lienzo arriba y el atributo izquierdo en ese punto. Muchas gracias. – dpham

+0

¿Alguna idea de cómo lo haría funcionar si el zoom es lo suficientemente bajo como para contener más de un tramo de la tierra, por ejemplo [-190, 230]? – Thomas

3

Mira la biblioteca CanvasLayer que básicamente tiene todo esto en cuenta para usted como una implementación de referencia.

Cuestiones relacionadas