hi,
Tom hat geschrieben:
Die Doku der Programmierschnittstelle ist im Vergleich zu anderen M$-Produkten ziemlich gut.
JA ... wenn man weiss wonach man sucht ...
Also man geht gleich nach "Programmieren mit MapPoint"
nun klickt man auf den 1st Link und liest ...
weiter unten kommt "in blau" nun ein scheinbarer Link
"Verwenden des New-Schlüsselworts von Visual Basic"
aber in Wirklichkeit "klappt" er das Thema auf.
also ein nach dem anderen Thema aufklappen und lesen ...
merken sollte man sich : EU 11 :SAVEAS() :QUIT()
und dann links weiter mit "Erste Schritte mit dem MapPoint-Steuerelement"
und wieder die Themen aufklappen und lesen ...
merken sollte man sich : geoMapEurope , Toolbars
zusammen mit dem XppFD.EXE bekommt man damit schon eine Karte angezeigt.
aber ich will ja die "Orte" haben ...
linke Help Seite "Arbeiten mit Orten und Suchen von Orten und Adressen im MapPoint-
Objektmodell" hört sich doch schon gut an. Was gibt es da denn für Themen :
"Suchen eines Längen-/Breitengrades" ... hab ich nicht
"Verwenden der Find-Methoden und FindResults-Auflistung" ... das ist es doch schon eher
Suchen von Adressen
Suchen von Orten
Verwenden der Find-Methoden
Die FindResults-Auflistung
ich habe mir nun zunächst die Find / FindAddressResults vorgenommen. Warum ? Naja damit
kann man einen "eindeutigen" Eintrag suchen z.b. "seine Adresse" sodas man damit ein Resultat
bekommt
Nun habe ich bei meinen BAB "Adressen" scheinbar Glück, den obwohl ich die PLZ nicht habe
und auch keine Strasse / Ort so findet er bei der Routen Planung die AUTOBAHN
Nun nun kommt der Hammer : Er sagt HH -> München 759,7 KM und TC berechnet 772,5 KM
nun wird Mappoint ja kaum ein "Abkürzung" genommen haben ... ok alles noch nicht geprüft ...
aber genau "das Gefühl" hatte ich schon von Anfang an, weil TC ja nichts aufschlüsselt ...
so hier noch ein wenig "quick & dirty" Code :
Code: Alles auswählen
METHOD NewForm:MapInit()
LOCAL oResult := NIL
LOCAL oAlaska := NIL
// setzte auf EUR Version
::oMap:NewMap( geoMapEurope )
// anzeigen der Karte
::oMap:show()
ALTD()
* oResult := ::oMap:ActiveMap:FindAddressResults(
* Street String
* City String
* OtherCity String
* Region String
* PostalCode String
* Country Variant
oAlaska := ::oMap:ActiveMap:FindAddressResults("Hauptstrasse 223",;
"Eschborn" ,;
"Niederhoechst" ,;
"65760" ) // geoCountryGermany dahinter knallt ?
imax := oAlaska:Count()
IF imax > 0
::oMap:ActiveMap:ActiveRoute:Waypoints:Add(oAlaska:Item(1))
ENDIF
//
// meine BAB Bezeichnungen scheinen "unique" zu sein, deshalb reicht ein FindResults()
//
oResult := ::oMap:ActiveMap:FindResults(TRIM(CVSIMPO->AUFFAHRT))
imax := oResult:Count()
IF imax > 0
::oMap:ActiveMap:ActiveRoute:Waypoints:Add(oResult:Item(1))
lStart := .T.
ELSE
TONE(1000)
ENDIF
oResult := ::oMap:ActiveMap:FindResults(TRIM(CVSIMPO->ABFAHRT))
imax := oResult:Count()
IF imax > 0
::oMap:ActiveMap:ActiveRoute:Waypoints:Add(oResult:Item(1))
lEnd := .T.
ELSE
TONE(1000)
ENDIF
//
// und nun zeig es mir auf der Karte
//
IF lStart = .T. .AND. lEnd = .T.
::oMap:ActiveMap:ActiveRoute:Calculate()
ENDIF
soweit sogut ... nun habe ich "nur" noch ein "repaint" Problem wenn ich per ALT-TAB switche...
auch so : woher bekomme ich nun das Ergebniss in KM ?
Code: Alles auswählen
MSGBOX("Entfernung "+STR(::oMap:ActiveMap:ActiveRoute:Distance()))