Permalink
Browse files

uff. Fehler in Karte bzw. speichern von Koordinaten

  • Loading branch information...
1 parent 9899341 commit 2ec5bddd66eb5b094635505a26913d95b9abb94d @barbalex committed May 24, 2012
Showing with 30 additions and 33 deletions.
  1. +1 −4 _attachments/BeobEdit.html
  2. +19 −17 _attachments/Karte.html
  3. +10 −12 vendor/couchapp/_attachments/evab.js
@@ -204,7 +204,6 @@ <h2>Beobachtung</h2>
//Für jedes Feld bei Änderung speichern
$("#BeobEditForm").on("change", ".speichern", function () {
- var FelderArray;
if (['oXKoord', 'oYKoord'].indexOf(this.name) > -1 && $("[name='oXKoord']").val() && $("[name='oYKoord']").val()) {
//Wenn Koordinaten und beide erfasst
localStorage.oXKoord = $("[name='oXKoord']").val();
@@ -214,9 +213,7 @@ <h2>Beobachtung</h2>
localStorage.oLatitudeDecDeg = CHtoWGSlat(localStorage.oYKoord, localStorage.oXKoord);
localStorage.oLagegenauigkeit = null;
//und Koordinaten speichern
- //Höhe und -genauigkei mitgeben, damit allfällige alte Werte gelöscht werden
- FelderArray = ["oLongitudeDecDeg", "oLongitudeDecDeg", "oLatitudeDecDeg", "oXKoord", "oYKoord", "oLagegenauigkeit", "oHöhe", "oHöheGenauigkeit"];
- speichereMehrereFelderAusLocalStorageInDbUndZeigeSieImFormular(localStorage.BeobId, "Beobachtung", FelderArray);
+ speichereKoordinaten(localStorage.BeobId, "Beobachtung");
} else {
speichern(this);
}
View
@@ -163,7 +163,8 @@ <h1>Karte</h1>
marker = new MarkerWithLabel({
map: map,
position: latlng2,
- title: Ort.oName.toString(),
+ //title muss String sein
+ title: Ort.oName.toString() || "",
labelContent: Ort.oName,
labelAnchor: new google.maps.Point(22, 0),
labelClass: "MapLabel", // the CSS class for the label
@@ -232,8 +233,9 @@ <h1>Karte</h1>
if (verorted === true) {
marker = new google.maps.Marker({
position: latlng,
- map: map,
- title: window.hOrt.oName,
+ map: map,
+ //title muss String sein
+ title: window.hOrt.oName.toString() || "",
draggable: true
});
//Marker in Array speichern, damit er gelöscht werden kann
@@ -322,8 +324,9 @@ <h1>Karte</h1>
}
marker = new MarkerWithLabel({
map: map,
- position: latlng2,
- title: beob.aArtName,
+ position: latlng2,
+ //title muss String sein
+ title: beob.aArtName.toString(),
icon: image,
labelContent: beob.aArtName,
labelAnchor: new google.maps.Point(22, 0),
@@ -396,8 +399,9 @@ <h1>Karte</h1>
if (verorted === true) {
marker = new google.maps.Marker({
position: latlng,
- map: map,
- title: localStorage.aArtName,
+ map: map,
+ //title muss String sein
+ title: localStorage.aArtName.toString(),
icon: image,
draggable: true
});
@@ -437,7 +441,8 @@ <h1>Karte</h1>
marker = new google.maps.Marker({
position: location,
map: map,
- title: window.hOrt.oName,
+ //title muss String sein
+ title: window.hOrt.oName.toString() || "",
draggable: true
});
//Marker in Array speichern, damit er gelöscht werden kann
@@ -454,7 +459,8 @@ <h1>Karte</h1>
var marker = new google.maps.Marker({
position: location,
map: map,
- title: localStorage.aArtName,
+ //title muss String sein
+ title: localStorage.aArtName.toString(),
icon: image,
draggable: true
});
@@ -468,7 +474,7 @@ <h1>Karte</h1>
//wird benutzt in hOrtEdit.html
function SetLocationhOrtEdit(LatLng, map, marker) {
- var lat, lng, contentString, infowindow, FelderArray;
+ var lat, lng, contentString, infowindow;
lat = LatLng.lat();
lng = LatLng.lng();
localStorage.oLatitudeDecDeg = lat;
@@ -494,14 +500,12 @@ <h1>Karte</h1>
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map,marker);
});
- //Höhe und -genauigkeit mitgeben damit allfällige alte Werte gelöscht werden
- FelderArray = ["oLongitudeDecDeg", "oLongitudeDecDeg", "oLatitudeDecDeg", "oXKoord", "oYKoord", "oLagegenauigkeit", "oHöhe", "oHöheGenauigkeit"];
- speichereMehrereFelderAusLocalStorageInDbUndZeigeSieImFormular(localStorage.OrtId, "hOrt", FelderArray);
+ speichereKoordinaten(localStorage.OrtId, "hOrt");
}
//wird benutzt in BeobEdit.html
function SetLocationBeobEdit(LatLng, map, marker) {
- var lat, lng, contentString, infowindow, FelderArray;
+ var lat, lng, contentString, infowindow;
lat = LatLng.lat();
lng = LatLng.lng();
localStorage.oLatitudeDecDeg = lat;
@@ -527,9 +531,7 @@ <h1>Karte</h1>
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map,marker);
});
- //Höhe und -genauigkeit mitgeben, damit allfällige alte Werte gelöscht werden
- FelderArray = ["oLongitudeDecDeg", "oLongitudeDecDeg", "oLatitudeDecDeg", "oXKoord", "oYKoord", "oLagegenauigkeit", "oHöhe", "oHöheGenauigkeit"];
- speichereMehrereFelderAusLocalStorageInDbUndZeigeSieImFormular(localStorage.BeobId, "Beobachtung", FelderArray);
+ speichereKoordinaten(localStorage.BeobId, "Beobachtung");
}
//GoogleMap: alle Marker löschen
@@ -1410,18 +1410,18 @@ function initiiereFeldliste_2() {
//die Felder werden aus localStorage übernommen, die Liste ihrer Namen wird als Array FelderArray überbeben
//die Felder werden in der DB und im übergebenen Objekt DatensatzObjekt gespeichert
//und anschliessend in Formularfeldern aktualisiert
-function speichereMehrereFelderAusLocalStorageInDbUndZeigeSieImFormular(id, DatensatzObjektName, FelderArray) {
+function speichereKoordinaten(id, DatensatzObjektName) {
//kontrollieren, ob Ort oder Beob als Objekt vorliegt
if (window[DatensatzObjektName]) {
//ja: Objekt verwenden
- speichereMehrereFelderAusLocalStorageInDbUndZeigeSieImFormular_2(DatensatzObjektName, FelderArray);
+ speichereKoordinaten_2(DatensatzObjektName);
} else {
//nein: Objekt aus DB holen
$db = $.couch.db("evab");
$db.openDoc(id, {
success: function (data) {
window[DatensatzObjektName] = data;
- speichereMehrereFelderAusLocalStorageInDbUndZeigeSieImFormular_2(DatensatzObjektName, FelderArray);
+ speichereKoordinaten_2(DatensatzObjektName);
},
error: function () {
melde("Fehler: Koordinaten nicht gespeichert");
@@ -1430,18 +1430,20 @@ function speichereMehrereFelderAusLocalStorageInDbUndZeigeSieImFormular(id, Date
}
}
-function speichereMehrereFelderAusLocalStorageInDbUndZeigeSieImFormular_2(DatensatzObjektName, FelderArray) {
+function speichereKoordinaten_2(DatensatzObjektName) {
//Längen- und Breitengrad sind in keinem Feld dargestellt
//sie müssen aus ihren Variabeln gespeichert werden
//Variablen müssen in Objekt und localStorage denselben Namen verwenden
+ var FelderArray;
+ FelderArray = ["oLongitudeDecDeg", "oLongitudeDecDeg", "oLatitudeDecDeg", "oXKoord", "oYKoord", "oLagegenauigkeit", "oHöhe", "oHöheGenauigkeit"];
for (i in FelderArray) {
if (typeof i !== "function") {
if (window[DatensatzObjektName][i]) {
if (localStorage[i]) {
- if (typeof i === "number" && isInt(i)) {
+ if (myTypeOf(i) === "integer") {
//Wert ist Int
window[DatensatzObjektName][i] = parseInt(localStorage[i]);
- } else if (typeof i === "number") {
+ } else if (myTypeOf(i) === "float") {
//i ist Float
window[DatensatzObjektName][i] = parseFloat(localStorage[i]);
} else {
@@ -2636,7 +2638,6 @@ function NavbarVerortungAnimieren() {
}
function GeolocationAuslesen(position) {
- var FelderArray;
localStorage.oLagegenauigkeit = Math.floor(position.coords.accuracy);
localStorage.oLongitudeDecDeg = position.coords.longitude;
localStorage.oLatitudeDecDeg = position.coords.latitude;
@@ -2653,8 +2654,7 @@ function GeolocationAuslesen(position) {
localStorage.oHöhe = position.coords.altitude;
localStorage.oHöheGenauigkeit = position.coords.altitudeAccuracy;
}
- FelderArray = ["oLongitudeDecDeg", "oLongitudeDecDeg", "oLatitudeDecDeg", "oXKoord", "oYKoord", "oLagegenauigkeit", "oHöhe", "oHöheGenauigkeit"];
- speichereMehrereFelderAusLocalStorageInDbUndZeigeSieImFormular(localStorage.docId, localStorage.OrtOderBeob, FelderArray);
+ speichereKoordinaten(localStorage.docId, localStorage.OrtOderBeob);
}
//Position ermitteln war erfolgreich
@@ -2679,7 +2679,6 @@ function onGeolocationError(error) {
//Beendet Ermittlung der Position
function stopGeolocation() {
- var FelderArray;
//Positionssuche beenden
//wenn keine watchID mehr, wurde sie schon beendet
//stop timeout stoppen
@@ -2706,8 +2705,7 @@ function stopGeolocation() {
$("[name='oHöhe']").val("");
$("[name='oHöheGenauigkeit']").val("");
//Diesen neuen Stand speichern (allfällige alte Koordinaten werden verworfen)
- FelderArray = ["oLongitudeDecDeg", "oLongitudeDecDeg", "oLatitudeDecDeg", "oXKoord", "oYKoord", "oLagegenauigkeit", "oHöhe", "oHöheGenauigkeit"];
- speichereMehrereFelderAusLocalStorageInDbUndZeigeSieImFormular(localStorage.docId, localStorage.OrtOderBeob, FelderArray);
+ speichereKoordinaten(localStorage.docId, localStorage.OrtOderBeob);
melde("Keine genaue Position erhalten");
}
//Variablen aufräumen

0 comments on commit 2ec5bdd

Please sign in to comment.