Estoy buscando algo como FlDraw , que me permita dibujar planos de planta o centros comerciales, oficinas, plantas industriales y similares.
El problema es que quiero que las partes del plano de planta sean identificables. Es decir, incrustaré el plano de planta en una página web y cuando el usuario haga clic, quiero poder identificar la tienda, la oficina, la habitación, etc., donde hizo clic, preferiblemente usando AngularJs, pero el viejo JS funcionará en caso de apuro. .
De hecho, esta _podría_ ser una pregunta de dos partes: una para dibujar los planos de planta y, la parte más complicada, un programa para dividir la imagen en segmentos (imagínese tomar un mapa de los EE. UU. y delinear los estados) de tal manera que (Angular) JS puede determinar cuándo se hace clic en uno.
Prefiero una aplicación de Windows, pero también estoy abierto a Linux.
[Actualización] Necesito SVG, con cada habitación delineada por una ruta SVG separada
[Actualización ++] Solo quiero 2D, no 3D, y solo quiero dibujar paredes, puertas, escaleras y similares. Lo que no quiero son muchas opciones para sofás, armarios, plantas en macetas y cosas por el estilo. Esto es para centros comerciales y plantas industriales. Supongo que no me opongo a que haya algunos inodoros íconos, existen emergencias, pero puedo vivir sin ellos si es necesario.
Blanco y negro está bien. Puedo agregar colo(u)r más tarde, en el HTML, si lo quiero.
Lo más importante es que cada habitación es una ruta SVG separada, por lo que dos habitaciones contiguas realmente necesitan dos "paredes" que se toquen pero estén separadas entre ellas, no solo una sola línea. Esto es para que pueda encerrar cada habitación en una ruta SVG y detectar clics dentro de la habitación.
El mal arte ascii sigue
+--------------------++--------------------+
| || |
| Room 1 || Room 2 | <----- like this
| || |
| / || / |
+--/ ------------++-/ ----------+
+--------------------+--------------------+
| | |
| Room 1 | Room 2 | <----- NOT like this
| | |
| / | / |
+--/ ------------+-/ ----------+
Para responder a tus dos preguntas:
naranja_caramelizada
Mawg dice que reincorpore a Monica
Mawg dice que reincorpore a Monica
isPointInPath()
para detectar clics.