• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[SCRIPTSUCHE] Kartenlayer Script

hoddel

New member
2. Antwort, die erste wurde nicht angezeigt.:confused:
Jetzt mal als neues Thema:

Die Karten laufen gut. Ich habe stelle die gerade für die Smartphoneansicht um.
Einige Karten möchte ich noch erweitern.
Hier soll der Standort des Nutzers angezeigt werden. Also keinen festen Marker, wie ich es z.Zt. habe.

Mein Script sieht jetzt so aus:

HTML:
<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Karte von Åna-Sira</title>
<meta name="keywords" 
content="Åna-Sira, Ana-Sira, Karte, Südnorwegen, Landkarte">
<meta name="description" content="Sehr genaue Karte von Åna-Sira.">
<script type="text/javascript" 
src="http://maps.googleapis.com/maps/api/js?v=3key=AIzaSyAuU64HL-OklbGduAw8YrsLU4J8hxIOOaE&sensor=true"></script>
<meta name="viewport" 
content="width=device-width, initial-scale=1.0, user-scalable=no">
</head>

<body>

<style type="text/css">

	body{font:12px/1.231 arial,helvetica,clean,sans-serif;}
</style>
<!--More info on using custom base layers in Google Maps v3: https://developers.google.com/maps/documentation/javascript/basics?hl=de-->
<script type="text/javascript">

function StatkartMapType(name, layer) {
this.layer = layer
this.name = name
this.alt = name

this.tileSize = new google.maps.Size(256,256);
this.maxZoom = 19;
this.getTile = function(coord, zoom, ownerDocument) {
var div = ownerDocument.createElement('DIV');
div.style.width = this.tileSize.width + 'px';
div.style.height = this.tileSize.height + 'px';
div.style.backgroundImage = "url(http://opencache.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=" + this.layer + "&zoom=" + zoom + "&x=" + coord.x 

+ "&y=" + coord.y + ")";
return div;
};
}

var map;

function initialize() {
var mapOptions = {
zoom: 13,
center: new google.maps.LatLng(58.291, 6.43969),
mapTypeControlOptions: {
mapTypeIds: ['kartdata2', 'sjo_hovedkart2', 'topo2', 'topo2graatone', 'toporaster2', 'europa'],
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
}
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

map.mapTypes.set('sjo_hovedkart2',new StatkartMapType("Seekarte", "sjo_hovedkart2"));
map.mapTypes.set('kartdata2',new StatkartMapType("Kartdata 2", "kartdata2"));
map.mapTypes.set('topo2',new StatkartMapType("Landkarte", "topo2"));
map.mapTypes.set('topo2graatone',new StatkartMapType("Grauton", "topo2graatone"));
map.mapTypes.set('toporaster2',new StatkartMapType("Toporaster", "toporaster2"));
map.mapTypes.set('europa',new StatkartMapType("Europa", "europa"));

map.setMapTypeId('topo2');

var marker = new google.maps.Marker({
position: new google.maps.LatLng(58.291, 6.43969),
map: map
});

}

</script>
<title>Norwegische Landkarte</title>
<body onload="initialize()">

<div id="map_canvas" style="width:99%; height:900px">
</div>
<div style="width:700px;text-align:left">
	<font face="Arial" size="3"><a href="http://www.statkart.no">Statens kartverk</a>,
	<a href="http://www.statkart.no/nor/Land/Fagomrader/Geovekst/">Geovekst</a> 
	og
	<a href="http://www.statkart.no/?module=Articles;action=Article.publicShow;ID=14194">
	kommuner</a></font></div>
<p><font face="Verdana" size="3">Mit Genehmigung von <a target="_blank" 
href="http://www.kartverket.no/">Statens Kartverk</a></font></p>
<font face="Verdana" size="3"><br>
<br>
<b><a href onclick="javascript:window.print()">Karte drucken <img border="0" 
src="printButton.png" width="15" height="13"> </a></b></font>
<p><font face="Verdana" size="3"><span style="color:#ff0000;"><strong>Achtung beim 
Ausdrucken: Drucker im Browser so einstellen, dass er auch den Hintergrund druckt, 
sonst ist das Blatt recht leer.</strong></span></font></p>
<p> </p>
<script type="text/javascript"><!--
google_ad_client = "pub-3214004593630554";
/* bild als banner */
google_ad_slot = "0675768533";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript" 
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

</body>

</body>

</html>

Dieses Script möchte ich einbinden und den festen Marker entfernen:

HTML:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8"/>
<title>HTML5 Geolocation Beispiel</title>
</head>
 
<body>
<div id="pos">
Deine Position wird ermittelt...
</div>
<script>
navigator.geolocation.getCurrentPosition(function(position){
document.getElementById('pos').innerHTML = 'Latitude: '+position.coords.latitude+' / Longitude: '+position.coords.longitude;
}, function(){
document.getElementById('pos').innerHTML = 'Deine Position konnte leider nicht ermittelt werden';
});
</script>
</body>
</html>

Ich habe schon sehr lange daran gebastelt. Mir fehlt aber leider einiges an Wissen, deswegen scheitere ich.

Hat jemand eine Idee?

Gruß
Horst
 
Einfach
Code:
var marker = new google.maps.Marker({
	position: new google.maps.LatLng(position.coords.latitude, position.coords.longitude),
	map: map
});
durch
Code:
navigator.geolocation.getCurrentPosition(
	function(position){
		var marker = new google.maps.Marker({
			position: new google.maps.LatLng(position.coords.latitude, position.coords.longitude),
			map: map
		});
	},
	function(){
		// k.A. was du machen willst, wenn die Position nicht bestimmt werden kann...
	}
);

PS: Du solltest dir wirklich dringend angewöhnen deinen Code sauber zu formatieren. Macht das lesen/verstehen/maintainen viel einfacher.
 
Zurück
Oben