2009-03-11 3 views
4

Hallo, wir sind ein Micro-ISV und ich habe monatelang Ausschau gehalten, um einen Weg zu finden, die Mapping-Funktionalität in unsere Windows Forms-Anwendung zu integrieren.Erschwingliche Mapping oder Geocodierung Integration mit Winform-Anwendung?

Unsere App ist online verteilt und ich möchte keine Kartendaten enthalten, also dachte ich, dass die Integration mit einer Online-Lösung am besten wäre, aber ich habe mich mit Google, Microsoft, MapQuest usw. in Verbindung gesetzt Lösung, die zu einem Micro-ISV-Geschäftsmodell passt, dh im Idealfall würden unsere Endnutzer für die Nutzung des Dienstes bezahlen.

Sie alle wollen, dass wir für eine feste Anzahl von Transaktionen pro Jahr zahlen und in allen Fällen haben sie uns 6.000 USD und mehr im Voraus zahlbar. Wir müssen erraten, wie viele Transaktionen unsere Nutzer im Voraus benötigen würden, und würden sehr teuer werden, wenn sie übergehen.

Dies ist für grundlegende Straßenkarten: Anzeigen von Karten, Zeichnen von Punkten auf Karten und Geocoding. Ich brauche es nicht, aber alle bieten Routing und andere Funktionen für noch mehr $.

Ich habe in OpenStreetMap sah und einen ausgezeichneten Artikel fand es in einer .net winform Anwendung hier mit: http://www.codeproject.com/KB/miscctrl/GMapNET.aspx

Und das wäre für uns fast ideal sein, ich habe es versucht, sind die Karten sehr gut und das Detail ist sehr gut, aber ich bin auf Geocoding fest: unsere Benutzer würden nur Adressen haben, nicht lat/long Koordinaten und es gibt keine freie Quelle für automatisierte Geocodierung, die ich ähnlich OpenStreetMap finden kann. OpenStreetMap plant, es irgendwann in der Zukunft zu implementieren, und alle anderen, die ich finden könnte, Gebühren ziemlich viel, um sie durch einen Webdienst zu verwenden.

Wenn jemand dies jetzt tut oder irgendwelche Ideen im Allgemeinen über Mapping-Integration in Windows-Desktop-Apps habe, wäre ich sehr dankbar.

Antwort

1

Es gibt eine große Liste von free Geocoding and Reverse Geocoding services here. Integration von diesen sollte sehr einfach zu tun sein.

Auch wenn Sie interessiert sind, habe ich eine windows control library entworfen, um mit der Google Earth API zu arbeiten. Mir ist klar, dass es sich nicht um einen flachen Mapping-Dienst handelt, sondern um eine Web-Browser-Komponente, daher sollte es Ihnen einige Ideen geben, wie Sie die von Ihnen ausgewählten Dienste integrieren können.

+0

Interessant, danke. –

0

Sie können sich kostenlos für ein MapPoint-Entwicklerkonto anmelden und diesen Dienst verwenden, um loszulegen.

Hier ist ein Tutorial: http://www.codestrider.com/blog/read/UsingMappointWebServices.aspx

+0

Ich weiß, dass sie alle eine kostenlose Evaluierungslizenz haben, aber das ist nutzlos, wenn es darum geht, es tatsächlich in einer kommerziellen Anwendung zu verwenden, wie ich schon sagte. –

0

Die Google Maps API bietet zwei Methoden für die Geokodierung durchführen. Wenn Sie in Ihrer Google Maps API-Anwendung geocodieren möchten, können Sie dazu das Objekt GClientGeocoder verwenden. Alternativ können Sie Geocodierungsanforderungen direkt an den HTTP-Geocoder senden.

Mehr Informationen über die HTTP-Geocoder-Service finden Sie hier: Google API geocoding

1

Sie können GDS Google Map WinForms Kontrolle versuchen, die von www.gdsdesigndevelopment.com heruntergeladen werden kann. Zusätzlich zu ähnlichen Funktionalitäten von GMap.Net bietet es Geocoding- und Reverse-Geocoding-Funktionen.

Geocodierung: Rufen Sie die Methode GdsGoogleMap.BeginGeocoding mit der Adresse als Eingabeparameter auf. Erfassen Sie dann das GdsGoogleMap.MapGeocodingCompleted-Ereignis. Sie können LatLng aus MapGeocodingCompletedEventArgs abrufen.

Umgekehrte Geokodierung: Rufen Sie die GdsGoogleMap.BeginReverseGeocoding-Methode mit dem lallLng als Eingabe-Parameter auf. Erfassen Sie dann das GdsGoogleMap.MapReverseGeocodingCompleted-Ereignis. Sie erhalten die formatierte Adresse von MapReverseGeocodingCompletedEventArgs.