Hide Pushpins at specific Zoom level at Bing Maps

תשובה Hide Pushpins at specific Zoom level at Bing Maps

  • Donnerstag, 24. November 2011 12:58
     
     

    i am absolutely new in programming Silverlight applications i am using Expression Blend and Visual Studio 2010.

    I am trying to build a Bing Map with Pushpins.

    I am able to add multiple locations (Pushpins) on the Bing Map by fetching the data from a XML file, that works absolutely perfect for me.

    But now i need to hide/show the Pushpins at a specific zoom level to get an clearly arranged overview.

    As example at zoom Level 6 i´d like to see complete Europe and 1 Pushpin for each country at zoom level 11 i´d able to see one country with all the Pushpins in this country.

    Sounds a little bit confusing.

    So das gleiche noch mal in Deutsch...

    Wie oben beschrieben bin ich ein absoluter Neuling im Programmieren insbesondere Silverlight Applikationen.. man könnte mich auch einen Programmier DAU nennen.

    Das Endziel meiner Anwendung sollte eigentlich sein das ich z.B. Europa darstellen kann als Map und für jedes Land einen Pushpin habe dem Pushpin wird in meiner Anwendung ein Indicator hinterlegt mit dem ich Signale darstellen kann, das funktioniert soweit schon mal, mein Problem ist aber das ich sehr viele Pushpins haben werde die ich bei entsprechender Zoom Stufe ausblenden möchte d.h. bei einem niedrigen Zoom Level sollte wie gesagt nur Pushpins für die einzelnen Länder zu sehen sein, und bei höherer Zoom Stufe die Pushpins die entsprechenden Ländern zugeordnet sind. (dafür benutze ich Koordinaten d.h. auch Pushpins in Grenzregionen dürfen natürlich mit angezeigt werden das muss nicht auf Länder beschränkt sein) Ich dachte dabei an Layer, in welche ich meine unterschiedlichen Pushpins lege, die ich je nach Zoom Stufe ein bzw. ausblenden kann, sowas sollte doch eigentlich möglich sein.

    So langsam verzweifle ich aber an der Thematik mir fehlt einfach der kleine Schupser in die richtige Richtung.

    Vielen Dank für eure Hilfe

    Gruß

    Daniel

Alle Antworten

  • Donnerstag, 24. November 2011 14:00
    Besitzer
     
     

    Hallo Daniel Konhäuser,

    Schau Dir mal diesen Beitrag an. Vielleicht kann er Dir weiterhelfen.

    Pushpins hidden until specific zoom level? (so wie ich es verstehe werden Layers erstellt die man hide/show machen kann für einen bestimmten zoom level)…es ist auch eine XML Datei im Spiel.

    Grüße,

    Robert

  • Donnerstag, 24. November 2011 14:13
     
     

    Hallo Robert,

     

    Danke für die Antwort, den Beitrag hab ich auch schon studiert, nur leider bringt er mich nicht weiter....

    Im Grunde arbeite ich im Moment mit diesem Source Code:

    http://beyondrelational.com/blogs/dinesh/archive/2010/06/26/bing-maps-binding-xml-data-source.aspx

    Das klappt auch alles wirklich Super, und für meine Anforderungen ist das erst mal ausreichend, mein Problem ist nur das sich die Pushpins überdecken und ich deshalb nicht alle Infos die ich benötige auf einen Blick zur Verfügung habe.

    Ausgehend von dem oben genannten Beispiel/Source Code bin ich im Moment dabei mir eine Anwendung zu schreiben die Anhand von einer XML Datei Pushpins einpflegt, diese sollen aber erst ab einem Zoom Level von "7" zu sehen sein davor möchte ich gerne z.B. einen Pushpin/Land sehen können, im Grunde ist das die Anwendung von Clustering von PushPins, ich muss aber zugeben das mir das Clustering nicht so gut gefällt bzw. meine Anforderung nicht so gut erfüllt.

    Ich bin einfach noch nicht so tief in der Programmierung, fange gerade erst an, als das ich schon alles zu Silverlight und vor allem Bing Maps Control verstehe.

    Vielen Dank für die Unterstützung

    Gruß

    Daniel

  • Donnerstag, 15. Dezember 2011 12:29
     
     Beantwortet Enthält Code

    Hallo zusammen,

    für alle die es interessiert hier meine Lösung zu der Problematik:

    Code-Behind:

    - C# code snippet -
     
    double Zoom; 
    Zoom = map.ZoomLevel;
    if (Zoom <= 5.5) 
    { 
        Peter.Visibility = Visibility.Collapsed;
    }
    else
    {
        Peter.Visibility = Visibility.Visible;
    }
     
    - end -

    XAML:

    - XAML code snippet -
     
    <m:MapLayer x:Name="Peter" Visibility="Collapsed">
    ...
    ...
    </m:MapLayer>
     
    - end -

    Gruß

    Daniel