2009-02-28 10 views
6

Mam aplikację ASP.NET MVC, która jest do tej pory prosta, ale chcę dodać stronę ze wskazówkami dojazdu do lokalizacji klienta. Widzę mnóstwo przykładów przy użyciu tradycyjnego kodu za model, ale żaden z ASP.NET MVC. Aplikacja używa stron wzorcowych i stron treści.Korzystanie z Google Maps API w aplikacji .NET 3.5 ASP.NET MVC

Jestem całkiem nowy dla ASP.NET MVC, więc proszę o mnie. Dowolne przykłady robienia tego będą mile widziane.

PS: Nie jestem całkowicie przeciwny integracji standardowego kodu za stroną typu w aplikacji, jeśli zajdzie taka potrzeba.

Odpowiedz

7

Myślę, że tvanfosson jest poprawny; powinieneś zajrzeć do przykładów JavaScript. Fakt, że korzystasz z ASP.NET MVC, nie wpłynie tak naprawdę na twój kod Map Google. Napisz kod map Google na jednej ze stron z zawartością widoku, tak jak w standardowej aplikacji ASP.NET lub nawet zwykłej aplikacji HTML + JavaScript. Jedyna różnica polega na tym, że będziesz chciał dynamicznie dodawać zmienne lub parametry JavaScript, aby Twój kod Google Maps mógł z niego korzystać.

Myślę, że nie powinieneś umieszczać żadnej z twoich logik w pliku zza kodu. Utrzyma twój projekt w stanie czystym, aby zachować logikę w kontrolerze, a korzystanie z kodu źródłowego nie pomoże ci tutaj. Zamiast tego twój kontroler wykona logikę i przekaże wyniki do widoku w ViewData.

+0

Dzięki - gra się jquery, aby uruchomić go na mojej stronie treści i działa. – MikeD

2

Użyłem interfejsu API Map Google dokładnie tak samo jak Ty (wskazówki dotyczące dojazdu, a także obliczenia zużycia paliwa itp.). Normalnie zrobię to, czego potrzebuję, z bazy danych na zapleczu i utworzę na listę jakiegoś typu, którą następnie wypełnię ukrytą formantem lub literałem. Następnie na pierwszym końcu kodu JavaScript wybiorę go i wyślę żądania do API map.

Nie wiem, jak bardzo mógłby być różny w środowisku ASP.NET MVC, ale nie wyobrażam sobie zbyt wiele.

2

Jest blogu na temat korzystania z Map Google z ASP.NET MVC tutaj: Using Google Maps with the MVC Framework

edit: Rozwiązanie nie działa na mnie jak jest, prawdopodobnie ze względu na budowany ze starszej wersji MVC struktura. Aby go naprawić musiałem zastąpić następującą linię w pliku web.config projektu:

<add namespace="Microsoft.Web.Mvc"/> 

z następującą linię:

<add namespace="System.Web.Mvc.Html" />