Pregunta

Hace unos meses construí una aplicación Winform que programa citas para técnicos de reparación. Me gustaría actualizar la aplicación agregando un mapa para la dirección del cliente en el formulario del cliente, y luego imprimir ese mapa en el informe que los técnicos toman cuando salen de la oficina.

He estado buscando, pero aún no he encontrado una buena solución para esto.

Actualmente tengo una dirección para el cliente. Lo que me gustaría hacer es enviar la dirección a uno de los sitios de mapas en línea populares y obtener un minimapa de la ubicación. Puedo casi hacer esto con los mapas de Google usando su función de enlace incrustado. Puedo obtener el siguiente código HTML después de agregar una dirección a su sitio web:

<iframe width="300" height="300" frameborder="0" scrolling="no" 
   marginheight="0" marginwidth="0" 
   src="http://maps.google.com/maps?hl=en&amp;ie=UTF8&amp;t=h&amp;g=1193+Presque+Isle+Dr,+Port+Charlotte,+FL+33952&amp;s=AARTsJqsWtjYwJ7ucpVS6UU2EInkRk6JLA&amp;ll=27.012108,-82.087955&amp;spn=0.005735,0.006437&amp;z=16&amp;output=embed">
</iframe>

Mi primer plan fue simplemente analizar este HTML e insertar la dirección del cliente que se necesitaba en su lugar, luego mostrar el resultado en un objeto del navegador en el formulario. Sin embargo, si cambio la dirección en el iframe anterior, Google me da un " Tu cliente no tiene permiso para obtener la URL ... " mensaje.

No tengo ninguna preferencia sobre qué servicio de mapas utilizo en última instancia, lo importante es que la solución no puede tener gastos asociados y se puede utilizar desde los formularios de Windows.

¿Alguien tiene ideas / recomendaciones / recursos sobre cómo abordar esto?

Resultados :

Terminé usando el control encontrado aquí . Lo encuentro un " bien " solución ... es tedioso ponerse a trabajar ya que el código no funciona como está. Estoy bastante sorprendido al descubrir que ninguna de las API de mapas populares son compatibles con los formularios de ganancias.

¿Fue útil?

Solución

Tanto Google Maps como Live Maps tienen una api pública.

Ya que estás haciendo winforms, probablemente use mapas en vivo.

http://dev.live.com/VirtualEarth/

Hay algunos ejemplos en CodePlex.

http://codeplex.com/Project/ProjectDirectory.aspx?TagName = Virtual% 20Earth

Otros consejos

Hay algún código de ejemplo para desarrollar un control de visor de mapas (NB: dudo que esto esté estrictamente dentro de su licencia)

De lo contrario, dependiendo de su presupuesto, podría usar Control ActiveX MapPoint

Simplemente use el valor dentro de src = " " como la ubicación para un control WebBrowser directamente, sin el IFRAME.

O

Cree un documento html mínimo que contenga el IFRAME, escríbalo en un MemoryStream, vuelva a buscarlo al inicio y use el MemoryStream para configurar la propiedad DocumentStream del control WebBrowser.

PW

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top