MapPoint alle Kunden nach Umsatz darstellen

Rund um MS-MapPoint

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hi,

Ich weiss noch nicht wo ich nachschauen soll um eine solche Karte zu erstellen.
Wo fange ich an zu lesen ?

Frage : Was ist der Unterschied zwischen einem PushPin und einem WayPoint ?
Kann man die PINs "einfärben" ?
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von Tom »

Hallo, Jimmy.

PushPins sind auf die Karte gesetzte Locations, die zunächst keinen Zusammenhang haben müssen, während WayPoints die einzelnen Locations (vormals PushPins) sind, die insgesamt eine Route ergeben.

Um PushPins "einzufärben", kann man die iVar :Symbol benutzen. Einfach in der MP-Hilfe nach "Symbol - Eigenschaft" suchen, da findest Du unten eine Liste mit den verfügbaren Icons, die man nach Erzeugung eines PushPins zuordnen kann.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hi,
Tom hat geschrieben: PushPins sind auf die Karte gesetzte Locations, die zunächst keinen Zusammenhang haben müssen, während WayPoints die einzelnen Locations (vormals PushPins) sind, die insgesamt eine Route ergeben.
kann man die nachträglich zu Waypoints "konvertieren" ?
Tom hat geschrieben: Um PushPins "einzufärben", kann man die iVar :Symbol benutzen. Einfach in der MP-Hilfe nach "Symbol - Eigenschaft" suchen, da findest Du unten eine Liste mit den verfügbaren Icons, die man nach Erzeugung eines PushPins zuordnen kann.
Yup die hab ich nun unter Symbol endeckt.

Ich versuche mal zusammen zu fassen :
1.) oMap ... ohne die geht nichts
2.) statt über ActiveRoute nun AddPushpin ? ... oder Datasets ?
3.) die Location ist das Resultat von FindAddressResults welche ich nun per AddPushpin hinzufüge
4.) an jeden PIN hänge ich dann noch ein Symbol mit

Code: Alles auswählen

oMap:Symbols:Item(nSymbol)
hm ... hört sich ja "einfach" an ... also auf ans Werk
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hi,
Tom hat geschrieben: ... die man nach Erzeugung eines PushPins zuordnen kann.
und da komme ich nicht weiter :(

Code: Alles auswählen

*   Set objPushpin = objMap.AddPushpin(objLoc)
*   'Als Pinsymbol rotes Auto festlegen
*   Let objPushpin.Symbol = objMap.Symbols.Item(83)

oPushPin := ::oMap:ActiveMap:AddPushpin(oResult:Item(nWahl))
oPushPin:Symbol := ::oMap:ActiveMap:Symbols:Item(83)
und peng ...
oError:args :
-> VALTYPE: C VALUE: Symbol
-> VALTYPE: O CLASS: AutomationObject
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Falscher Parameter.
Falscher Parameter.

oError:filename : NIL
oError:genCode : NIL
oError:operation : Symbol
oError:osCode : -2147024809
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 1
oError:tries : NIL
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from XBMAP:PINKUNDEN(1945)
Called from (B)JOBMAP(126)
Called from JOBMAP(149)
Called from ALLKDPIN(1630)
Called from (B)CREATEMENUSYSTEM(1008)
Called from MAIN(874)
ich denke mal das ich das LET nicht richtig verstehe ...

es gibt bei Symbols doch die Methode ADD() ... wenn ich ein AddPushpin() mache wird dann
"automatisch" ein Symbols:ADD() ... oder bin ich auf dem "Holzweg" ...
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

wenn ich nun alle PushPin´s gesetzt habe, wie bekomme ich ihn dazu "alle" auf der Karte anzuzeigen?

ich meine sowas wie "zoom" ... bei Calculate() macht er es ja automatisch.
gruss by OHR
Jimmy
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von Wolfgang Ciriack »

Hi Jimmi,
mit oMap:Union(aTmp):goto() kannst du die Karte auf alle im Array aTmp enthaltenen Location-Objekte einpassen.
Viele Grüße
Wolfgang
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hm ...
[quote="AUGE_OHR"]

Code: Alles auswählen

oPushPin := ::oMap:ActiveMap:AddPushpin(oResult:Item(nWahl))
oPushPin:Symbol := ::oMap:ActiveMap:Symbols:Item(83)
und das hab ich jetzt

Code: Alles auswählen

*           Set objPushpin = objMap.AddPushpin(objLoc)
*           'Als Pinsymbol rotes Auto festlegen
*           Let objPushpin.Symbol = objMap.Symbols.Item(83)

            oPushPin := ::oMap:ActiveMap:AddPushpin(oResult:Item(nWahl))
            oPushPin:SetProperty("Symbol",83)
... aber das hatte ich doch auch ganz am Anfang ... und nun geht es !?

na gut das Problem hat sich dann auch gelöst :)

wer mal sehen möchte was für Symbole es gibt
http://msdn.microsoft.com/en-us/library/aa736261.aspx
(wenn man es als URL markiert klappt es auch mit dem .aspx)
Zuletzt geändert von AUGE_OHR am Do, 09. Okt 2008 8:05, insgesamt 1-mal geändert.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

moin,
Wolfgang Ciriack hat geschrieben: mit oMap:Union(aTmp):goto() kannst du die Karte auf alle im Array aTmp enthaltenen Location-Objekte einpassen.
hm ... Array aTmp ... ich komme aus eine DBF ...
sollte ich die Daten aus der DBF vorher in ein Array schaufeln ? oder gleich mit DataSets ?
Wenn Array : Was für Daten (vermutlich Strasse etc) und die "angeordnet" ?

wenn ich alle PushPin gesetzt habe müsste ich doch irgendwie mit Count() was machen können ?

brauche noch 1-2 "Tritte" in die richtige Richtung ...
gruss by OHR
Jimmy
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von Wolfgang Ciriack »

Hallo Jimmi,
im Array müssen Location-Objekte (oL) stehen, z.B

Code: Alles auswählen

oL := oMap:findResults(..<adresse>...):item(1)
dem Location-Object OL kannst du dann einen PushPin zuordnen:

Code: Alles auswählen

oPP := oMap:addPushPin(oL, ..<Name>...)
dem Pushpin kannst du dann Eigenschaften geben:

Code: Alles auswählen

oPP:note := ..<beschreibung>.....
oPP:balloonState := 2
oPP:symbol := .....
PushPins kannst du dann über den Namen suchen:

Code: Alles auswählen

oPP:=oMap:FindPushpin(..<Name>..)
und z.B. wieder löschen

Code: Alles auswählen

oPP:Delete()
Die Location-Objecte kannst du dann wieder als Waypoints deiner Route zuordnen, bei der du dann auch die Anzahl abfragen kannst:

Code: Alles auswählen

 oRoute:Waypoints:add(oL,..<Name>)
 l:=oRoute:Waypoints:Count()
 for i:=1 to l
     oRoute:Waypoints:Item(i):StopTime:=mpp_wartezeit*geoOneMinute
 next
 
Viele Grüße
Wolfgang
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hi,

aha ... ein Licht geht an ...
ok danke, ich werde das mal evaluieren.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hi,

nochmal eine Frage : angenommen ich nehme meine PushPin Object in ein Array auf. Nun habe
ich verschiedene Symbole genommen. Kann ich PushPin´s "ausblenden" ? Wenn wie ?

... und dann wäre da die Frage ob es einen schnelleren Weg als findResults(..<adresse>...) gibt ?
Er setzt jetzt seit über 2Std. Pushpin´s und ist bei 70% (von ca. 3000)
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hi,

gibt es bei

Code: Alles auswählen

  oPushPin := ::oMap:ActiveMap:AddPushpin(oResult:Item(nWahl),mKdnr)
  ::ColorPIN(oPushPin)
  oPushPin:Note := cText
eine Beschränkung ?

nachden er etliche PushPins gesetzt hat kommt so was ...
oError:args :
-> VALTYPE: C VALUE: Note
-> VALTYPE: C VALUE: SO NA MU Stand vom 30.06.99 Eur 0.00
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Unbekannter Fehler 0
oError:filename : NIL
oError:genCode : NIL
oError:operation : Note
oError:osCode : -2147467259
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 1
oError:tries : NIL
----------------------------------------------------------------------------
CALLSTACK:
----------------------------------------------------------------------------
Called from XBMAP:PINKUNDEN(1970)
Called from (B)JOBMAP(129)
Called from JOBMAP(152)
Called from ALLKDPIN(1639)
Called from (B)CREATEMENUSYSTEM(1008)
Called from MAIN(874)
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

ok es was irgendwas in meinem cText drin

Code: Alles auswählen

mSoll       := STR(KUNDEN->Umssoll - KUNDEN->Umshaben)
IF VAL( mSoll ) > 0
   cText := mkdname+" Stand vom "+mLast+" Eur "+mSoll
ELSE
   cText := mkdname+" "+mLast
ENDIF
und die 0 muss sich auf mSoll beziehen. So aufgeteilt geht es nun ...

aber nun die nächste Frage : Wenn ich die Ballon Informationen gesetzt habe, wie kann ich die
ein-/ausblenden ? kann ich irgendwelche "Bedingungen" einbringen ?

er hat bei mir (P4 3GHz HT) ca. 4422 Sec. für 2700 Pushpin gebraucht, also ca. 1.7sec / Pushpin.
kann man die Zeit verringern z.b. die "Anzeige" ausschalten oder so ?

kann man die Symbole noch "verändern" z.b. Grösse = Umsatz oder so ?
wo sind eigentlich die Symbole (EXE, DLL) ?

wie ist es mit der "Legende" ? bekomme ich da die Symbole rein ?
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hm ...
------------------------------------------------------------------------------

ASCOM10.DLL : Xbase++ Runtime DLL, Hotfix Rollup #19 for Xbase++ 1.90.331
ASCOM10C.DLL : 1.90.0331 Xbase++ Runtime DLL Hotfix Rollup #16
XPPRT1.DLL : 1.90.0331 Xbase++ Runtime DLL Hotfix Rollup #13
XPPUI1.DLL : 1.90.0331 Xbase++ Runtime DLL, Hotfix Rollup #12 for Xbase++ 1»

------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: Note
-> VALTYPE: C VALUE: Panda Imbiss Stand vom 18.08.08 Eur 224.17
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Unbekannter Fehler 0
oError:filename : NIL
oError:genCode : NIL
oError:operation : Note
oError:osCode : -2147467259
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 1
oError:tries : NIL
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from XBMAP:PINKUNDEN(1997)
Called from (B)JOBMAP(129)
Called from JOBMAP(164)
Called from ALLKDPIN(1641)
nun weiss ich nicht mehr was er will ... ist ihm das vielleicht "zu schnell" ...
gruss by OHR
Jimmy
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von Wolfgang Ciriack »

Hi Jimmi,
ja, Mappoint ist nicht alzu schnell, evtl. kann man es beschleunigen, indem man nur die Geokoordinaten zum Anzeigen benutzt

Code: Alles auswählen

oL:=oMap:GetLocation(<Lat>, <Lon>)
Dazu müsstest du jedoch erst einmal für alle Kunden diese feststellen und abspeichern.

Da ich die ganze Sache zur Darstellung von Ortungsdaten von Fahrzeuge benutze, bin ich jetzt auf ein Programm von einer Berliner Firma umgestiegen, da haben wir eine XML-Schnittstelle über die die Geokodierung, Darstellung etc. sehr schnell geht. Hat darüber hinaus auch noch andere Vorteile (TCM Datendarstellung, Fahrtberichte etc.). Kostet allerdings auch 800,00 € statt 300,00 € für Mappoint.
Viele Grüße
Wolfgang
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hi,
Wolfgang Ciriack hat geschrieben: ja, Mappoint ist nicht alzu schnell, evtl. kann man es beschleunigen
Nein in diesem Fall scheine ich ihn tatsächlich "noch langsamer" machen zu müssen.
ich hab ihn nun ein SLEEP(40) nach :Symbol aber vor :Note gegeben und das scheint
nun zu reichen.
Wolfgang Ciriack hat geschrieben: , indem man nur die Geokoordinaten zum Anzeigen benutzt

Code: Alles auswählen

oL:=oMap:GetLocation(<Lat>, <Lon>)
Dazu müsstest du jedoch erst einmal für alle Kunden diese feststellen und abspeichern.
ja das wollte ich sowieso, aber in der MP2004 bekomme ich ja eben NICHT die Geokoordinaten
sondern muss mit die mit "CalPos" berechnen (das war die Sache mit dem Dreieck ...)
Wolfgang Ciriack hat geschrieben: Da ich die ganze Sache zur Darstellung von Ortungsdaten von Fahrzeuge benutze, bin ich jetzt auf ein Programm von einer Berliner Firma umgestiegen, da haben wir eine XML-Schnittstelle über die die Geokodierung, Darstellung etc. sehr schnell geht. Hat darüber hinaus auch noch andere Vorteile (TCM Datendarstellung, Fahrtberichte etc.). Kostet allerdings auch 800,00 € statt 300,00 € für Mappoint.
hört sich interessant an. Ich habe die Version ja dem Kunden "abgeschwätzt" und 0 Euro bezahlt,
aber ein Update ist wohl fällig.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hi,
Wolfgang Ciriack hat geschrieben: ja, Mappoint ist nicht alzu schnell, evtl. kann man es beschleunigen, indem man nur die Geokoordinaten zum Anzeigen benutzt

Code: Alles auswählen

oL:=oMap:GetLocation(<Lat>, <Lon>)
Dazu müsstest du jedoch erst einmal für alle Kunden diese feststellen und abspeichern.
Ich habe die Kunden nun als Pushpin abgespeichert und als :Name jeweils die Kunden ID eingetragen
Wenn ich nun die "präparierte" Map lade komme ich über FindPushPin(KundenID) ganz schnell zum
Pushpin. Wenn ich nun das Pushpin Object habe hole ich mir die oPushPin:Location property und
setzte die als Waypoint. Damit brauche ich kein FindAddressResults() und MP hat kein Arbeit damit
und damit ist er richtig schnell.

Ausserdem hab ich nun alle anderen PushPin im Radius vom 10KM "im Blick" ... nun muss ich am
Event Handling arbeiten wenn der User auf die Map clickt ...
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hi,

ich komme nochmal auf diesen Thread zurück weil ich immer noch nicht weiss wie ich den Umsatz
darstellen soll. Ich habe eine Karte mit Pushpin´s. Ich kann jeden Kunden und seinen Pushpin finden
und mir das PushPin Object holen ... und wie mache ich daraus z.b. eine "Säule" oder "Kuchenstück"

Ich blicke da noch gar nicht durch, wo ich was finde ... HELP need ! :withstupid:
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von AUGE_OHR »

hi,

kann mir wirklich keiner helfen wie ich mit MapPoint "Chart"s erstellen kann ?
gruss by OHR
Jimmy
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: MapPoint alle Kunden nach Umsatz darstellen

Beitrag von Martin Altmann »

Jimmy,
für Charts gibt es RMCHart :D

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Antworten