<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=79.240.87.161</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=79.240.87.161"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/79.240.87.161"/>
	<updated>2026-05-06T17:53:16Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Google_Maps_-_Benutzerdefinierte_Stile&amp;diff=18940</id>
		<title>Google Maps - Benutzerdefinierte Stile</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Google_Maps_-_Benutzerdefinierte_Stile&amp;diff=18940"/>
		<updated>2011-11-27T13:55:46Z</updated>

		<summary type="html">&lt;p&gt;79.240.87.161: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://code.google.com/intl/de-DE/apis/maps/documentation/javascript/overlays.html#StyledMaps&lt;br /&gt;
&lt;br /&gt;
Mit den StyledMapType läßt sich das Aussehen der Karten sehr individuell anpassen.&lt;br /&gt;
&lt;br /&gt;
Für die Definition der Stile legt man die Merkmale fest die man stylen will (featureType und featureElement) und gibt dafür stylers an (z.B. Farbton und Sättigung)&lt;br /&gt;
&lt;br /&gt;
Google hat einen Assistenten der einem Hilft ein Kartenbild zusammen zu basteln:&lt;br /&gt;
&lt;br /&gt;
http://gmaps-samples-v3.googlecode.com/svn/trunk/styledmaps/wizard/index.html&lt;/div&gt;</summary>
		<author><name>79.240.87.161</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Google_Maps_API_-_Programmieren_f%C3%BCr_Google_Maps&amp;diff=18939</id>
		<title>Google Maps API - Programmieren für Google Maps</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Google_Maps_API_-_Programmieren_f%C3%BCr_Google_Maps&amp;diff=18939"/>
		<updated>2011-11-27T13:45:20Z</updated>

		<summary type="html">&lt;p&gt;79.240.87.161: /* Marker Objekt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die folgenden Code Beispiele basieren i.d.R. auf der Google API Version3, bei der kein API Key mehr benötigt wird.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Google Group zu Google Maps&lt;br /&gt;
http://groups.google.com/group/google-maps-js-api-v3&lt;br /&gt;
&lt;br /&gt;
Developer Dokumentation von Apple&lt;br /&gt;
http://developer.apple.com/webapps/docs/documentation/AppleApplications/Reference/SafariWebContent/Introduction/Introduction.html&lt;br /&gt;
&lt;br /&gt;
Android Dokumentation&lt;br /&gt;
http://developer.android.com/&lt;br /&gt;
&lt;br /&gt;
=== API Links ===&lt;br /&gt;
Google Maps API-Familien (auf deutsch) http://code.google.com/intl/de-DE/apis/maps/&lt;br /&gt;
&lt;br /&gt;
Geocodierung: http://code.google.com/intl/de-DE/apis/maps/documentation/javascript/services.html#Geocoding&lt;br /&gt;
&lt;br /&gt;
Ereignisse (Events): http://code.google.com/intl/de-DE/apis/maps/documentation/javascript/events.html&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
=== Weiterführende und fortgeschrittene Techniken für Google Maps ===&lt;br /&gt;
[[Google Maps - Benutzerdefinierte Stile]]&lt;br /&gt;
&lt;br /&gt;
[[Google Maps - eigene Marker und Symbole]]&lt;br /&gt;
&lt;br /&gt;
Hier kommen Links rein...&lt;br /&gt;
&lt;br /&gt;
=== Position des Nutzers bestimmen ===&lt;br /&gt;
http://code.google.com/intl/de-DE/apis/maps/documentation/javascript/basics.html#DetectingUserLocation (11/2011)&lt;br /&gt;
&lt;br /&gt;
Google liefert folgendes Code Beispiel. Dabei wird zuerst getestet ob der Browser die HTML5 Geocoding Spezifikation des W3C unterstüzt (http://dev.w3.org/geo/api/spec-source.html). Wenn nicht wird Google Gears getestet und ansonsten eine Fehlermeldung ausgegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Note that using Google Gears requires loading the Javascript&lt;br /&gt;
// at http://code.google.com/apis/gears/gears_init.js&lt;br /&gt;
&lt;br /&gt;
var initialLocation;&lt;br /&gt;
var siberia = new google.maps.LatLng(60, 105);&lt;br /&gt;
var newyork = new google.maps.LatLng(40.69847032728747, -73.9514422416687);&lt;br /&gt;
var browserSupportFlag =  new Boolean();&lt;br /&gt;
&lt;br /&gt;
function initialize() {&lt;br /&gt;
  var myOptions = {&lt;br /&gt;
    zoom: 6,&lt;br /&gt;
    mapTypeId: google.maps.MapTypeId.ROADMAP&lt;br /&gt;
  };&lt;br /&gt;
  var map = new google.maps.Map(document.getElementById(&amp;quot;map_canvas&amp;quot;), myOptions);&lt;br /&gt;
  &lt;br /&gt;
  // Try W3C Geolocation (Preferred)&lt;br /&gt;
  if(navigator.geolocation) {&lt;br /&gt;
    browserSupportFlag = true;&lt;br /&gt;
    navigator.geolocation.getCurrentPosition(function(position) {&lt;br /&gt;
      initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);&lt;br /&gt;
      map.setCenter(initialLocation);&lt;br /&gt;
    }, function() {&lt;br /&gt;
      handleNoGeolocation(browserSupportFlag);&lt;br /&gt;
    });&lt;br /&gt;
  // Try Google Gears Geolocation&lt;br /&gt;
  } else if (google.gears) {&lt;br /&gt;
    browserSupportFlag = true;&lt;br /&gt;
    var geo = google.gears.factory.create(&amp;#039;beta.geolocation&amp;#039;);&lt;br /&gt;
    geo.getCurrentPosition(function(position) {&lt;br /&gt;
      initialLocation = new google.maps.LatLng(position.latitude,position.longitude);&lt;br /&gt;
      map.setCenter(initialLocation);&lt;br /&gt;
    }, function() {&lt;br /&gt;
      handleNoGeoLocation(browserSupportFlag);&lt;br /&gt;
    });&lt;br /&gt;
  // Browser doesn&amp;#039;t support Geolocation&lt;br /&gt;
  } else {&lt;br /&gt;
    browserSupportFlag = false;&lt;br /&gt;
    handleNoGeolocation(browserSupportFlag);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  function handleNoGeolocation(errorFlag) {&lt;br /&gt;
    if (errorFlag == true) {&lt;br /&gt;
      alert(&amp;quot;Geolocation service failed.&amp;quot;);&lt;br /&gt;
      initialLocation = newyork;&lt;br /&gt;
    } else {&lt;br /&gt;
      alert(&amp;quot;Your browser doesn&amp;#039;t support geolocation. We&amp;#039;ve placed you in Siberia.&amp;quot;);&lt;br /&gt;
      initialLocation = siberia;&lt;br /&gt;
    }&lt;br /&gt;
    map.setCenter(initialLocation);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sensorparameter einstellen ===&lt;br /&gt;
&lt;br /&gt;
Die Anwendung muß angeben ob sie einen Sensor zur Positionsbestimmung benutzt. Z.B. der GPS Empfänger in einem Handy. Wenn nicht muß trotzdem &amp;quot;false&amp;quot; übergeben werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Example using sensor when loading the Maps JavaScript API&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://maps.google.com/maps/api/js?sensor=true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optimierungen für Mobilgeräte ===&lt;br /&gt;
http://code.google.com/intl/de-DE/apis/maps/documentation/javascript/basics.html#Mobile&lt;br /&gt;
&lt;br /&gt;
Umgebender Div Container (hier mapdiv) mit width:100%. Bei älteren Desktop Browsern kann dies aber zu Schwierigkeiten führen. &lt;br /&gt;
&lt;br /&gt;
Sie können iPhones und Android-Geräte anhand der navigator.userAgent-Eigenschaft im DOM erkennen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function detectBrowser() {&lt;br /&gt;
  var useragent = navigator.userAgent;&lt;br /&gt;
  var mapdiv = document.getElementById(&amp;quot;map_canvas&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
  if (useragent.indexOf(&amp;#039;iPhone&amp;#039;) != -1 || useragent.indexOf(&amp;#039;Android&amp;#039;) != -1 ) {&lt;br /&gt;
    mapdiv.style.width = &amp;#039;100%&amp;#039;;&lt;br /&gt;
    mapdiv.style.height = &amp;#039;100%&amp;#039;;&lt;br /&gt;
  } else {&lt;br /&gt;
    mapdiv.style.width = &amp;#039;600px&amp;#039;;&lt;br /&gt;
    mapdiv.style.height = &amp;#039;800px&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dadurch können Sie das Layout für bestimmte Geräte wie in diesem Beispiel verändern und beispielsweise den verfügbaren Platz auf dem Display für jedes Gerät anpassen.&lt;br /&gt;
&lt;br /&gt;
Das iPhone akzeptiert das folgende &amp;lt;meta&amp;gt;-Tag:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;initial-scale=1.0, user-scalable=no&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Einstellung gibt an, dass diese Karte im Vollbildmodus angezeigt werden soll und ihre Größe vom Nutzer nicht geändert werden kann. Android-Geräte mit Softwareversion 1.5 (Cupcake) unterstützen diese Parameter ebenfalls. Für den iPhone-Browser Safari muss dieses &amp;lt;meta&amp;gt;-Tag im &amp;lt;head&amp;gt;-Element der Seite enthalten sein.&lt;br /&gt;
&lt;br /&gt;
=== Lokalisierung einer v3 App (Sprachanpassung) ===&lt;br /&gt;
==== Sprachlokalisierung und Anpassung der Texte - language Parameter====&lt;br /&gt;
Normalerweise nicht notwendig weil die Sprache des Browsers verwendet wird. Wenn doch dann mit dem Language Parameter.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://maps.google.com/maps/api/js?sensor=false&amp;amp;language=de&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gebietslokalisierung - region Parameter ====&lt;br /&gt;
Normalerweise wird die Domain der Homepage für die Regionserkennung verwendet. Manchmal möchte man die Region verändern damit Google Maps richtig gewichtet. Z.B. kann die Suche nach dem Ort Toledo den Ort in Spanien finden oder in den USA. Wenn der Region Parameter auf es steht liefert er stets den Ort in Spanien.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://maps.google.com/maps/api/js?sensor=false&amp;amp;region=GB&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Richtige API Version laden - der v Parameter ===&lt;br /&gt;
http://code.google.com/intl/de-DE/apis/maps/documentation/javascript/basics.html#Versioning&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
http://maps.google.com/maps/api/js?v=3.1&amp;amp;sensor=true_or_false&lt;br /&gt;
&lt;br /&gt;
=== Kartentyp ändern ===&lt;br /&gt;
Kartentypen werden im Map options-Objekt der Karte mithilfe der mapTypeId-Eigenschaft festgelegt.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Kartentypen sind im Google Maps-API verfügbar:&lt;br /&gt;
&lt;br /&gt;
    MapTypeId.ROADMAP zeigt die Standard-Straßenkartenansicht.&lt;br /&gt;
    MapTypeId.SATELLITE zeigt Google Earth-Satellitenbilder.&lt;br /&gt;
    MapTypeId.HYBRID zeigt eine Mischung aus der normalen und der Satellitenansicht.&lt;br /&gt;
    MapTypeId.TERRAIN zeigt eine physische Karte an, die auf Geländeinformationen basiert. &lt;br /&gt;
&lt;br /&gt;
Sie können den Kartentyp einer Karte ändern, indem Sie die setMapTypeId()-Methode der Karte aufrufen.&lt;br /&gt;
&lt;br /&gt;
== Wichtige Google Maps Objekte ==&lt;br /&gt;
Wichtige Objekte anhand von Beispiel Definitionen:&lt;br /&gt;
&lt;br /&gt;
=== LatLng Objekt === &lt;br /&gt;
 var myLatlng = new google.maps.LatLng(-34.397, 150.644);&lt;br /&gt;
&lt;br /&gt;
=== Options Objekt ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var myOptions = {&lt;br /&gt;
  zoom: 8,&lt;br /&gt;
  center: myLatlng,&lt;br /&gt;
  mapTypeId: google.maps.MapTypeId.ROADMAP&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird normalerweise nicht direkt erzeugt sondern als &amp;quot;Literalobjekt&amp;quot; (also als Zeichenfolge) definiert und dann direkt im Map Objekt verwendet und implizit erzeugt (siehe Map Objekt)&lt;br /&gt;
&lt;br /&gt;
==== Wichtige Optionen ====&lt;br /&gt;
Einige oft benötigte Optionen und was sie machen:&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/intl/de-DE/apis/maps/documentation/javascript/reference.html#MapOptions&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;zoom&amp;#039;&amp;#039; - anfänglicher Zoom Level (0 = World) &amp;#039;&amp;#039;&amp;#039;Erforderlich&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*  &amp;#039;&amp;#039;mapTypeId&amp;#039;&amp;#039; - anfängliche mapTypeId der Karte. &amp;#039;&amp;#039;&amp;#039;Erforderlich&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;center&amp;#039;&amp;#039; - anfängliches Kartenzentrum. &amp;#039;&amp;#039;&amp;#039;Erforderlich&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;disableDefaultUI&amp;#039;&amp;#039; - damit kann man die Standard Bedienelemente ausschalten (true,false). Man kann fast alles auch einzeln ein und ausschalten (Maussteuerung, Tastatursteuerung, verschieben der Karte, etc.). Siehe Link oben.&lt;br /&gt;
* &amp;#039;&amp;#039;navigationControlOptions&amp;#039;&amp;#039;	Anfängliche Anzeigeoptionen für die Navigationssteuerung (position, style).&lt;br /&gt;
&lt;br /&gt;
=== Map Objekt ===&lt;br /&gt;
Das Zentrale Objekt.&lt;br /&gt;
 var map = new google.maps.Map(document.getElementById(&amp;quot;map_canvas&amp;quot;), myOptions);&lt;br /&gt;
&lt;br /&gt;
=== Marker Objekt ===&lt;br /&gt;
Benötigt als Parameter eine Position und optional das Map Objekt. Wenn dies nicht vorhanden ist kann man den Marker später mit &amp;#039;&amp;#039;setMap&amp;#039;&amp;#039; hinzufügen. Mit setMap(null) kann man den Marker entfernen.&lt;br /&gt;
&lt;br /&gt;
Standardmäßig haben die Marker einen click Listener.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel - Marker hinzufügen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Marker für die Achalm&lt;br /&gt;
var posAchalm = new google.maps.LatLng(48.493978,9.244276);&lt;br /&gt;
var marker = new google.maps.Marker({&lt;br /&gt;
    position: posAchalm, &lt;br /&gt;
    map: map,&lt;br /&gt;
    title:&amp;quot;Achalm&amp;quot;&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Info Window Objekt ===&lt;br /&gt;
Das folgende Beispiel definiert ein InfoWindow, welches an einen Marker (&amp;quot;marker&amp;quot;) gehängt wird und sich bei Klick öffnet.&lt;br /&gt;
Es funktioniert also mit dem obigen Marker Beispiel zusammen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	// INFOWINDOW&lt;br /&gt;
	// Inhalt festlegen&lt;br /&gt;
	var contentString = &amp;#039;&amp;lt;div id=&amp;quot;content&amp;quot;&amp;gt;&amp;#039;+&lt;br /&gt;
	    &amp;#039;&amp;lt;div id=&amp;quot;siteNotice&amp;quot;&amp;gt;&amp;#039;+&lt;br /&gt;
	    &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;+&lt;br /&gt;
	    &amp;#039;&amp;lt;h1 id=&amp;quot;firstHeading&amp;quot; class=&amp;quot;firstHeading&amp;quot;&amp;gt;Achalm&amp;lt;/h1&amp;gt;&amp;#039;+&lt;br /&gt;
	    &amp;#039;&amp;lt;div id=&amp;quot;bodyContent&amp;quot;&amp;gt;&amp;#039;+&lt;br /&gt;
	    &amp;#039;&amp;lt;p&amp;gt;Die &amp;lt;b&amp;gt;Achalm&amp;lt;/b&amp;gt;, ist der Hausberg der Stadt Reutlingen, &amp;#039; +&lt;br /&gt;
	    &amp;#039;am Rande der schw&amp;amp;auml;bischen Alb gelegen. &amp;#039;+&lt;br /&gt;
	    &amp;#039;&amp;lt;p&amp;gt;Attribution: Achalm, &amp;lt;a href=&amp;quot;http://de.wikipedia.org/wiki/Achalm&amp;quot;&amp;gt;&amp;#039;+&lt;br /&gt;
	    &amp;#039;Achalm in der Wikipedia&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&amp;#039;+&lt;br /&gt;
	    &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;+&lt;br /&gt;
	    &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
	// Fenster erzeugen...&lt;br /&gt;
	var infowindow = new google.maps.InfoWindow({&lt;br /&gt;
		content: contentString,&lt;br /&gt;
		maxWidth: 280&lt;br /&gt;
	});&lt;br /&gt;
	// Klick-Listener an Marker hängen der das Fenster öffnet.&lt;br /&gt;
	google.maps.event.addListener(marker, &amp;#039;click&amp;#039;, function() {&lt;br /&gt;
	  infowindow.open(map,marker);&lt;br /&gt;
	});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Google Maps Beispiele ==&lt;br /&gt;
Beispiele auf Google: http://code.google.com/intl/de-DE/apis/maps/documentation/javascript/examples/index.html&lt;br /&gt;
=== Simple Map ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;initial-scale=1.0, user-scalable=no&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://maps.google.com/maps/api/js?sensor=set_to_true_or_false&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
  function initialize() {&lt;br /&gt;
    var latlng = new google.maps.LatLng(-34.397, 150.644);&lt;br /&gt;
    var myOptions = {&lt;br /&gt;
      zoom: 8,&lt;br /&gt;
      center: latlng,&lt;br /&gt;
      mapTypeId: google.maps.MapTypeId.ROADMAP&lt;br /&gt;
    };&lt;br /&gt;
    var map = new google.maps.Map(document.getElementById(&amp;quot;map_canvas&amp;quot;), myOptions);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body onload=&amp;quot;initialize()&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;map_canvas&amp;quot; style=&amp;quot;width:100%; height:100%&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.87.161</name></author>
	</entry>
</feed>