Punkty na mapie offline - elastyczny obszar roboczy (GMap.NET)

0

Witam.
Chciałbym uzyskać w swojej desktopowej, offline'owej aplikacji możliwość zaznaczania i wyświetlania punktów (pinezek) na pewnym obszarze (np na mapie). Obszar może być nawet bez żadnego tła - najbardziej zależy mi, aby orientacja punktów względem siebie była mniej więcej zachowana oraz aby można go było zbliżać, oddalać i przesuwać - tak jak w mapach Google Chciałbym, aby po kliknięciu w taki punkt wyświetlane było kolejne okno, lub popup z informacjami.

Szukam rozwiązań już dłuższy czas, ale nie wpadłem na nic co było by eleganckie i wydolne pamięciowo. Jedynym sensownym rozwianiem jakie przychodzi mi do głowy jest napisanie tego webowo i uruchamianie localhosta. Może jednak ktoś z was czy nie mógł bym tego zrobić jako standardowej aplikacji? Będę wdzięczny za wszystkie sugestie.

1

ale to jest przecież bardzo proste do narysowania.

  1. masz zbiór punktów w jednostce np, metry - tzn. pkt(2, 3) oznacza 2 metry od lewej i 3 metry od góry
  2. masz jakiś komponent, na którym będziesz rysował (nie wiem co tam jest paintbox?) o określonych, stałych wymiarach na formie, np. 1000x1000 pixeli
  3. ustalasz sobie skalę początkową, że 1metr = 100 pixeli
  4. sprawdzasz, które punty leżą w obszarze 0-10 metrów na 0-10 metrów i je rysujesz
  5. zmiana skali - zoomin/zoomout - zmieniasz skalę z początkowej np, na 1 metr = 50 pikseli i wracasz do pkt 4
  6. przesuwanie - w onmousedown zapisujesz x i y pkt. w którym jest kursor, w onmouseup obliczasz o ile pikseli user przesunął obraz. jeśli przesunął w lewo o 100 pikseli to twoje nowe współrzędne okna to 1-11 metrów (lub 2 - 22 metrów jeśli uwzględnić pkt. 5) i wracasz do pkt. 4

to wszystko trzeba jeszcze ładnie opakować, zamiast rysować punkty możesz "stawiać" komponenty, które będą po kliknięciu wyświetlały info.

0

Właśnie takiego rozwiązania starałem się uniknąć. Wydaje mi się, że definiowanie tego obszaru w całości może być mało efektywne (musiał bym zrobić siatkę całego świata. Poza tym nie sądzisz, że takie rysowanie nie jest trochę "za mało subtelne"? Chciałbym uniknąć crap programming.

1

LOL. to co dla ciebie jest pro programowaniem? Jak to powyższe (btw sam napisałeś Obszar może być nawet bez żadnego tła), jest za trudne to wypadało by zacząć od nauki gugla - pierwszy z brzegu http://gis.stackexchange.com/questions/130895/offline-maps-api-for-c-desktop-application

0

to co dla ciebie jest pro programowaniem?

Jakbyś był pierwszym który użył jednostek miary z F# to byłbyś pro ( ͡° ͜ʖ ͡°).

0

@abrakadaber: Widocznie używamy innego Googla, bo tego nie znalazłem :) Ale myślę że GMap.NET może być tym czego szukam. Zastanawia mnie tylko co w przypadku jak wszystkie mapy przestaną być kompatybilne z GMap.NET. Czy po prostu nie będzie map w tle czy wywali błąd i nie będę mógł z niego korzystać. Może znajdzie się ktoś kto z tego korzystał, to proszę o podzielenie się doświadczeniami,

1 użytkowników online, w tym zalogowanych: 0, gości: 1