AngularJS - Maps-Anwendung
Hallo da draußen, ambitionierte Web-Entwickler! Heute begeben wir uns auf eine aufregende Reise in die Welt von AngularJS und Google Maps. Bis zum Ende dieses Tutorials werdet ihr in der Lage sein, eure ganz eigene interaktive Kartenanwendung zu erstellen. Ist das nicht toll? Lass uns eintauchen!
Einführung in AngularJS und Google Maps
Bevor wir mit dem Coden beginnen, lassen wir uns erstmal anschauen, was AngularJS und Google Maps sind.
AngularJS ist ein leistungsstarkes JavaScript-Framework, das uns dabei hilft, dynamische Webanwendungen zu bauen. Es ist wie ein Superhelden-Sidekick für eure HTML, der ihr superpowers verleiht, um interaktive und responsive Webseiten zu erstellen.
Google Maps ist andererseits ein Web-Kartendienst, der detaillierte Informationen über geografische Regionen und Orte auf der ganzen Welt bietet. Es ist so, als hätte man die ganze Welt an einem Finger!
Wenn wir diese beiden Technologien kombinieren, können wir erstaunliche kartengestützte Anwendungen erstellen. Aufregend, nicht wahr?
Einrichtung unseres Projekts
Schritt 1: Einbinden von AngularJS und Google Maps API
Zuerst müssen wir die notwendigen Bibliotheken in unsere HTML-Datei einbinden. So machen wir das:
<!DOCTYPE html>
<html ng-app="mapApp">
<head>
<title>Meine AngularJS Karten-App</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"></script>
</head>
<body>
<!-- Unsere App kommt hier hin -->
<script src="app.js"></script>
</body>
</html>
In diesem Code binden wir AngularJS und die Google Maps API ein. Ersetzt 'YOUR_API_KEY' durch eure tatsächliche Google Maps API-Schlüssel. Keine Sorge, wenn ihr noch keinen habt; wir werden später cober, wie man einen bekommt.
Schritt 2: Erstellen unserer AngularJS-App
Nun erstellen wir unsere AngularJS-App. In einer neuen Datei namens app.js
fügen wir den folgenden Code hinzu:
var app = angular.module('mapApp', []);
app.controller('MapController', function($scope) {
// Hier werden wir unsere Kartenlogik hinzufügen
});
Dieser Code erstellt ein AngularJS-Modul namens 'mapApp' und einen Controller namens 'MapController'. Denkt daran, das Modul als Behälter für unsere App und den Controller als das Gehirn, das unsere Karte verwalten wird.
Erstellung unserer Karte
Schritt 3: Initialisierung der Karte
Fügen wir etwas Code zu unserem Controller hinzu, um unsere Karte zu initialisieren:
app.controller('MapController', function($scope) {
$scope.initMap = function() {
var mapOptions = {
center: new google.maps.LatLng(40.7128, -74.0060),
zoom: 12
};
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
}
});
Diese Funktion erstellt eine neue Google Maps, die auf New York City zentriert ist (ihr könnt die Koordinaten auf jeden Ort, den ihr möchtet, ändern). Die zoom
-Stufe bestimmt, wie stark die Karte hineingezoomt ist.
Schritt 4: Hinzufügen der Karte zu unserem HTML
Jetzt fügen wir eine Div zu unserem HTML hinzu, in der die Karte angezeigt wird:
<body ng-controller="MapController">
<div id="map" style="height: 400px; width: 100%;" ng-init="initMap()"></div>
<script src="app.js"></script>
</body>
Die ng-controller
-Direktive weist AngularJS an, unseren MapController für diesen Teil der Seite zu verwenden. Die ng-init
-Direktive ruft unsere initMap
-Funktion auf, wenn die Seite lädt.
Hinzufügen von Markern
Schritt 5: Erstellen einer Funktion zum Hinzufügen von Markern
Erweitern wir unseren Controller, um Marker zu unserer Karte hinzuzufügen:
app.controller('MapController', function($scope) {
var map;
$scope.initMap = function() {
var mapOptions = {
center: new google.maps.LatLng(40.7128, -74.0060),
zoom: 12
};
map = new google.maps.Map(document.getElementById('map'), mapOptions);
}
$scope.addMarker = function(lat, lng, title) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
map: map,
title: title
});
}
});
Diese neue addMarker
-Funktion erstellt einen Marker an der angegebenen Breitengrad- und Längengradposition mit einem bestimmten Titel.
Schritt 6: Verwendung der Marker-Funktion
Jetzt verwenden wir unsere neue Funktion, um einige Marker hinzuzufügen:
<body ng-controller="MapController">
<div id="map" style="height: 400px; width: 100%;" ng-init="initMap()"></div>
<button ng-click="addMarker(40.7484, -73.9857, 'Empire State Building')">Empire State Building hinzufügen</button>
<button ng-click="addMarker(40.7484, -73.9857, 'Statue of Liberty')">Statue of Liberty hinzufügen</button>
<script src="app.js"></script>
</body>
Diese Buttons fügen Marker für das Empire State Building und die Freiheitsstatue hinzu, wenn sie geklickt werden.
Benutzerinput verarbeiten
Schritt 7: Erstellen eines Eingabeformulars
Lassen wir die Benutzer ihre eigenen Marker hinzufügen:
<form ng-submit="addCustomMarker()">
<input type="text" ng-model="newMarker.title" placeholder="Titel">
<input type="number" ng-model="newMarker.lat" placeholder="Breitengrad">
<input type="number" ng-model="newMarker.lng" placeholder="Längengrad">
<button type="submit">Marker hinzufügen</button>
</form>
Schritt 8: Formularübermittlung verarbeiten
Fügt diese Funktion zu eurem Controller hinzu:
$scope.newMarker = {};
$scope.addCustomMarker = function() {
if($scope.newMarker.title && $scope.newMarker.lat && $scope.newMarker.lng) {
$scope.addMarker($scope.newMarker.lat, $scope.newMarker.lng, $scope.newMarker.title);
$scope.newMarker = {};
}
}
Diese Funktion überprüft, ob alle Felder ausgefüllt sind, fügt den Marker hinzu und leert dann das Formular.
Schlussfolgerung
Glückwunsch! Ihr habt gerade eure erste AngularJS Kartenanwendung erstellt. Ihr könnt jetzt eine Karte anzeigen, voreingestellte Marker hinzufügen und sogar erlauben, dass Benutzer ihre eigenen Marker hinzufügen. Das ist erst der Anfang – es gibt so viel mehr, was ihr mit AngularJS und Google Maps machen könnt.
Denkt daran, der Schlüssel zum werden eines großartigen Programmierers ist die Übung. Versucht, mehr Funktionen zu eurer Karten-App hinzuzufügen. Wie wäre es mit der Anzeige von Informationen, wenn ein Marker geklickt wird? Oder das Hinzufügen verschiedener Arten von Markern? Die Möglichkeiten sind endlos!
Happy Coding, zukünftige Tech-Zauberer!
Methode | Beschreibung |
---|---|
initMap() |
Initialisiert die Google Maps |
addMarker(lat, lng, title) |
Fügt einen Marker zur Karte an der angegebenen Breitengrad- und Längengradposition hinzu |
addCustomMarker() |
Verarbeitet Benutzerinput, um einen benutzerdefinierten Marker hinzuzufügen |
Credits: Image by storyset