vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Projekte und Betatester (VB und VB.NET)
Open Street Map Viewer UserControl 
Autor: Snoopy
Datum: 12.07.11 23:27

Hallo Zusammen,

der Open Street Map Viewer ist ein WPF-UserControl für das DotNet Framework 4.
Es wurde so konstruiert, dass es auch in einer WinForms Anwendung eingesetzt
werden kann. Das UserControl kann mit VB.Net und C# verwendet werden.

Hier ein Screenshot zum Demoprojekt:



Funktionsweise:
Der Viewer rendert das Kartenmaterial von Open Street Map. (www.openstreetmap.org)
Es stehen folgende Basiskarten zur Verfügung:

- Osmarender
- Mapnik
- CycleMap
- NoMap


Layer:
Über die Basiskarten können eigen definierte Layer eingeblendet werden.
Jedem Layer wiederum können beliebig viele Marker zugewiesen werden. Ein Marker
kennzeichnet ein Punkt auf der Karte. Jedem Marker können zusätzliche Begleittexte,
ein Bild und ein Link übergeben werden. Diese Informationen werden als Popup
bei einem Klick auf dem Marker angezeigt.

Zusätzlich steht ein Höhenschattierungs-Layer (Hillshading) zur Verfügung, der
bei Bedarf aktiviert werden kann. Durch diesen Layer erhält man einen räumlichen
Tiefeneffekt.

Das Download Paket enthält neben dem Usercontrol ein WPF- und ein WinForms-Projekt.
Die Projekte wurden mit VB.Net 2010 erstellt.

Download Demoprojekte

Wer ein bisschen Zeit übrig hat, den darf ich bitten, das Control einmal zu testen.
Vielen Dank!

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Open Street Map Viewer UserControl 
Autor: Maas
Datum: 13.07.11 09:40

Hi Snoopy,
Auf den ersten Blick sehr gut. Was mir auch auf den ersten Blick auffällt, ist das Scroll-/Zoomverhalten. Wenn ich auf einen Punkt z.B. im oberen rechten Bereich zoome, verschiebt sich der Punkt mehr oder weniger in die Mitte des Controls. Wenn ich also mehrmals scrolle ohne die Maus in die Mitte zu ziehen, lande ich Nord-Östlich von dem ursprünglich angezielten Punkt. Wäre schön, wenn das Zoomverhalten wie bei Google Maps und Co wäre, also der ursprüngliche Punkt immer unter dem Mauscursor bleibt, egal in welcher Zoomstufe. Aber ansonsten mal wieder eine super Arbeit.

Maas
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Open Street Map Viewer UserControl 
Autor: Snoopy
Datum: 13.07.11 12:56

Hi Maas,

danke für die Blumen
Muss ich mal schauen, ob man das Zoomverhalten ändern kann

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Open Street Map Viewer UserControl 
Autor: Snoopy
Datum: 13.07.11 19:03

So, Problem behoben

Gleich Download Link wie im ersten Post...

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Open Street Map Viewer UserControl 
Autor: Maas
Datum: 13.07.11 19:09

Ja, sehr geil. Das ging ja echt schnell.
Ich werde es vielleicht in mein Projekt mit einbauen (Geo API). Mal sehn wie sich das verträgt.
Da fällt mir auch glatt wieder die Addin-Sache ein. Kommt auch demnächst.

Maas
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Open Street Map Viewer UserControl 
Autor: Snoopy
Datum: 13.07.11 19:10

Geo API - was´n das ??? Immer her damit

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Open Street Map Viewer UserControl 
Autor: Maas
Datum: 13.07.11 19:18

Ist mit in der YahooManaged drin (namespace YahooManaged.Geo). Ich hatte die Finance API auf mehrere Yahoo APIs erweitert (Search, Weather, Geo). Heute oder morgen werd ich eine neue Version reinsetzen. Die Änderungen beziehen sich aber hauptsächlich auf Finance und die WPF Test App. Geo sollte nach wie vor funktionieren.

http://code.google.com/p/yahoo-finance-managed/downloads/list
oder direkt YQL Console
http://developer.yahoo.com/yql/console/?q=show%20tables&env=store://datatables.org/alltableswithkeys#h=select%20*%20from%20geo.places%20where%20text%3D%22berlin%22

Maas
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Beta-Release 1.0.2 
Autor: Snoopy
Datum: 16.07.11 15:01

Beta-Release 1.0.2

What´s new:

- Popup-Links werden jetzt im Standard Browser angezeigt. Nicht mehr in IE-Instanz.
- HillShading Layer Opacity per Source/XAML einstellbar.
- HillShading Layer Description per Source/XAML einstellbar.
- HillShading Layer Visible per Source/XAML einstellbar.
- Neuer Base-Layer "Mapnik deutscher Stil" hinzugefügt. Straßen und Beschilderung
werden den deutschen Kartenmaterial entsprechenden Farben angezeigt. Der Layer
ist nur für Europa gültig.
- Popups werden jetzt als "Cloud" angezeigt.
- Ausschnitt zoomen mit gedrückter Shift- und linker Maus Taste.
- Demo-Programm angepasst.
- Noch was vergessen

Download-Link, siehe erstes Post.

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Beitrag wurde zuletzt am 16.07.11 um 15:05:00 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Beta-Release 1.0.3 
Autor: Snoopy
Datum: 20.07.11 00:26

Beta-Release 1.0.3

Neuer Popup Typ für YouTube Videos
Dazu einfach die YouTube VideoID an den Marker übergeben.
Voraussetzung ist, dass das Video in einer externen Quelle
angezeigt werden darf. Siehe Demo.

Der Download-Link befindet sich im ersten Post.

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beta-Release 1.0.3 
Autor: Maas
Datum: 20.07.11 07:27

Hi Snoopy,
Ich hätte da noch ein paar Vorschläge:

1) Irgendwie will die IconSource des Layers bei mir nicht richtig. Ich habe es mit einem lokalen Pfad und der internen Ressourcen-Referenz a la pack://application:,,,/WPFOSMMapDemo;component/Images/icon_name.png versucht, aber leider nichts.

2) Es wäre schön, wenn die Welt ein Kreis wäre. Wenn man zur Datumsgrenze scrollt, geht es leider nicht wieder von vorn los. Galileo wäre erschüttert. ^^

3) Wenn man die Maus gedrückt hält, kurz außerhalb des Controls kommt, die Maus loslässt und danach schnell wieder hinein, kann man die Karte scrollen, obwohl nicht mehr gedrückt wurde. Das Control merkt also nicht, dass außerhalb die Maus losgelassen wurde. Bei längerem Draußenbleiben funktioniert es.

4) Du könntest den YouTube Support in deiner App noch etwas verbessern. YouTube-Videos haben oft eine Lokalisierung, also wo das Video entstanden ist. Diese Infos kann man mit der YouTube API ganz einfach abfragen und in den Marker eintragen. Wäre schön, wenn du das einbauen könntest (eigenständige AutoFill-Sub oder AutoFill-Property für Map-Refresh). Leider fehlt beim YouTube-Popup auch die Description.
Wo wir schon beim Popup sind...Da dies ja ein WPF-Control ist, fehlt mir hier eine Template-Eigenschaft. Nichts gegen deine Popups, aber ich würde schon gerne meinen eigenen Stil einbringen. Ein Problem für mich wäre dabei allerdings die Integration des YouTube-Videos. Solltest du die Template-Eigenschaft einführen, wäre ein YouTube-HostControl (was man dann in das Template einbaut) nicht schlecht, um das Ganze etwas zu vereinfachen.

Hier mal mein Code zum Befüllen des Markers:
    Private Sub FillYtMarker(m As WpfOSMMap.Marker)
        If m.YouTubeVideoID <> String.Empty And m.PopupTyp = _
          WpfOSMMap.PopupTypEnum.YouTube Then
 
            Dim xDoc As XDocument = XDocument.Load(String.Format("{0}/{1}", _
              "http://gdata.youtube.com/feeds/api/videos", m.YouTubeVideoID))
            Dim title = xDoc.Root.<title>.Value
            Dim content = xDoc.Root.<content>.Value
            Dim author = xDoc.Root.<author>.<name>.Value
 
            m.PopupHeader = String.Format("{0} @ {1}", title, author)
            m.PopupDescription = content
 
            Try
                Dim nsGeorss = xDoc.Root.GetNamespaceOfPrefix("georss")
                Dim nsGml = xDoc.Root.GetNamespaceOfPrefix("gml")
                Dim longLat = xDoc.Root.Element(XName.Get("where", _
                  nsGeorss.NamespaceName)).Element(XName.Get("Point", _
                  nsGml.NamespaceName)).Element(XName.Get("pos", _
                  nsGml.NamespaceName)).Value().Split(" "c)
                Dim latitude = longLat(0)
                Dim longitude = longLat(1)
                m.Longitude = Decimal.Parse(longitude, New _
                  Globalization.CultureInfo("en-US"))
                m.Latitude = Decimal.Parse(latitude, New _
                Globalization.CultureInfo("en-US"))
            Catch ex As Exception
                Debug.WriteLine(ex.Message)
            End Try
        End If
    End Sub
Edit:
5) Der Layer-Switcher hat einen geringeren Z-Index als das YouTube-Video, aber einen größeren als das Popup.

Maas

Beitrag wurde zuletzt am 20.07.11 um 07:42:13 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beta-Release 1.0.3 
Autor: Maas
Datum: 20.07.11 09:40

Hatte noch folgenden Import vergessen zu posten.

Imports <xmlns='http://www.w3.org/2005/Atom'>
Maas
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beta-Release 1.0.3 
Autor: Snoopy
Datum: 20.07.11 19:17

Hi Maas,

erst einmal Danke für deine Vorschläge
Vorab noch etwas grundsätzliches zum Verständnis. Das Control rendert HTML "on the Fly" von OSM und
OpenLayers.

Zu 1) Die ItemSource musst Du als http oder file angeben. (file://C:/Pfad/image/marker.png)
Wie gesagt, hier wird HTML gerendert.

Zu 2) NaJa, leider ist hier die Welt eine Scheibe

Zu 3) Kann ich nicht reproduzieren.

Zu 4) Die YouTube API lässt sich natürlich direkt einbauen - kein Problem. Die Description
ist aus Platzgründen extra abgeschaltet. Hmm, muss ich wohl auch noch per Eigenschaft konfigurierbar
machen. Das Popup ist auch HTML und wird durch OpenLayers gerendert. Ich schaue mal was man da noch
so machen kann.

So aber jetzt geht es erst mal zum Training...

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Beta-Release 1.0.4 
Autor: Snoopy
Datum: 21.07.11 21:26

Beta Release 1.0.4

What´s new:

Properties
PopupMaxSizeX - legt die maximale Popup Größe in X-Richtung fest.
PopupMaxSizeY - legt die maximale Popup Größe in Y-Richtung fest.

Marker Properties
YouTubeLoadAdditionalInfo - zeigt Zusatzinfos zum Video im Popup an.
YouTubeWidth - legt die Breite des Videos fest.
YouTubeHeight - legt die Höhe des Videos fest.


Wird YouTubeLoadAdditionalInfo verwendet, verlängert sich die Ladezeit der Karte. Wird die
YouTubeWidth / Height vergrößert, sollte PopupMaxSizeX/Y angepasst werden.

Download der aktuellen Beta, siehe Link erstes Post.

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Release 1.0.5 mit Wetterkarte 
Autor: Snoopy
Datum: 30.07.11 07:34

Mit der Release Version 1.0.5. zeige ich noch zusätzlich in der Demo, wie man eine Wettervorhersage
Karte erstellen kann. Die Demo beinhaltet dazu eine Klasse, die per undokumentierte Google-API die
Wetterdaten zu einem bestimmten Ort abrufen kann

Download...

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Open Street Map Viewer UserControl 
Autor: brwo
Datum: 03.01.19 17:31

Hallo Snoopy suche dieses OpenStreetMap Viewer UserControl mit Demoprojekt aber alle download links scheitern?

Gruss
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2019 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel