Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 2
Seite [1]
aschti


Poststar





Beiträge: 778
# Thema - 16.06.2010 um 00:24 Uhr
Hallo @ All,

wie Ihr wisst erneuere schon seit geraumer Zeit und ein paar Versionsausgaben das GoogleMap-Modul was eine Membermap beinhaltet. Es funktioniert alles einwandfrei soweit.
Jedoch bringe ich das Modul weil sich ja auch CSP weiterentwickelt auf einen neuern Stand, mit einigen Features, Optimierungen etc.

Naja soweit haut alles hinn wie besagt nur das Problem ist das er nicht alle User bzw Marker erstellt, er vergisst einfach mal die Hälfte obwohl sie im Quelltext der Seite zu finden sind.

bsp.: mit unvollständigen Laden:
http://demolitiongroup.de/index/googlemaps/usersmap

man sieht wenn man die angezeigten user auf der map mit deren im CDATA im Quellcode vergleicht eine hohe Differenz.

Wie ich gegooglet habe weil der Bug schon seit vorgänger Versionen besteht - und nun endlich behoben werden soll, liegt es am Geocoder.

Dieser bricht ja ab oder macht ein Timeout wenn zu viele Daten in Koordinaten umgerechnet werden müssen.
In anderen Foren habe ich gelesen das es Hilft eine Art sleep einzubaun so das Praktisch die Datei die als letztes damit zu tun hat wie meine .js
zum Beispiel während der umrechnung einfach mal pausiert und dann weitermacht. (Bsp. Mach fünf Marker dann eine sekunde pause dann den nächsten dann pause usw.)

Allerdings weiss ich nicht so ganz wie ich das hier machen soll...

Das .php modul lädt die daten aus der sql und gibt sie komplett richtig aus (siehe Quelltext bsp). Die java datei schnappt sich diese und verarbeitet die Daten (Adressen in Koordinaten anschliesen Marker&Link erstellung).


Bin für jeden Tipp&Anschubser dankbar weil die Pausierung zerbricht mir den Kopf....


Die derzeitige googlemaps.js (schuld daran ist function cs_googlemaps_geocodeaddressusersmap) :

googlemaps.js +-
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
1. / 2. / ... 
 var gdir;

function 
cs_googlemaps_createusersmapmarker(point,tabs,image,id,nick,url) {
    var 
icon = new GIcon();
    
icon.image image[0];
    
icon.iconSize = new GSize(image[1], image[2]);
    
subt image[2] / 100 11;
    
subt Math.ceil(subt);
    var 
anchor image[2] - subt;
    
icon.iconAnchor= new GPoint(10anchor);
    var 
infoanchor image[2] / 3;
    
icon.infoWindowAnchor = new GPoint(infoanchor2);
    
side_bar_html += '<img src=' url '> <a href=\"javascript:cs_googlemaps_click(' id ')\">' nick '</a><br>';
    var 
marker = new GMarker(pointicon);
    return 
marker;
}

function 
cs_googlemaps_createtabmarker(pointtabsimageid){
    var 
icon = new GIcon();
    
icon.image image[0];
    
icon.iconSize = new GSize(image[1], image[2]);
    
subt image[2] / 100 11;
    
subt Math.ceil(subt);
    var 
anchor image[2] - subt;
    
icon.iconAnchor= new GPoint(10anchor);
    var 
infoanchor image[2] / 3;
    
icon.infoWindowAnchor = new GPoint(infoanchor2);
    var 
marker = new GMarker(pointicon);
    return 
marker;
}
function 
cs_googlemaps_gdir() {
            if (
GBrowserIsCompatible()) {
            
map = new GMap2(document.getElementById("cs_googlemaps"));
            
gdir = new GDirections(mapdocument.getElementById("directions"));
            
GEvent.addListener(gdir"load"cs_googlemaps_OnGDirectionsLoad);
            
GEvent.addListener(gdir"error"cs_googlemaps_handleerrors);
            
cs_googlemaps_setdirections("Mannheim""Berlin""de");
        }
}
function 
cs_googlemaps_geo(latlngzoom) {
        if (
GBrowserIsCompatible()) 
        {
        
map = new GMap2(document.getElementById("cs_googlemaps"), {mapTypes:[G_SATELLITE_MAPG_HYBRID_MAPG_NORMAL_MAP]});
        
map.setCenter(new GLatLng(latlng), zoom);
        
GEvent.addListener(map"click", function(overlaypoint)
            { 
                
map.clearOverlays(); 
                if (
point) { 
                
map.addOverlay(new GMarker(point)); 
                
map.panTo(point);
                
document.getElementById("lat").value point.lat();  
                
document.getElementById("lng").value point.lng();  
                }
            }
        ); 
        }
    else 
        {
        
alert("Browser Error - Googlemap API Key !");
        }    
}
function 
cs_googlemaps_setdirections(fromAddresstoAddresslocale) {
      
gdir.load("from: " fromAddress " to: " toAddress,
               { 
"locale"locale });
}
function 
cs_googlemaps_OnGDirectionsLoad(){
    }
function 
cs_googlemaps_geocodeaddress(address,tabs,marker,zoom,id) {
  
geocoder.getLatLng(
    
address,
    function(
point) {
      if (
point) {
      var 
lat point.lat();
      var 
lng point.lng();
    
marker cs_googlemaps_createtabmarker(point,tabs,marker,id);
    
map.addOverlay(marker);
    
GEvent.addListener(marker"click", function() {
    
marker.openInfoWindowTabsHtml(tabs);
    });
        }
    }
  );
}
function 
cs_googlemaps_geocodeaddressusersmap(address,tabs,marker,zoom,id,nick,url) {
  
geocoder.getLatLng(
    
address,
    function(
point) {
      if (
point) {
      var 
lat point.lat();
      var 
lng point.lng();
    
marker cs_googlemaps_createusersmapmarker(point,tabs,marker,id,nick,url);
    
map.addOverlay(marker);
    
document.getElementById("cs_googleusersmap").innerHTML side_bar_html;
    
GEvent.addListener(marker"click", function() {
    
marker.openInfoWindowTabsHtml(tabs);
    });
    
gmarkers[id] = marker;
    }
    }
  );
}
function 
cs_googlemaps_geocodeaddress_user(address,tabs,marker,zoom,id) {
  
geocoder.getLatLng(
    
address,
    function(
point) {
      if (
point) {
      var 
lat point.lat();
      var 
lng point.lng();
    
marker cs_googlemaps_createtabmarker(point,tabs,marker,id);
    
map.addOverlay(marker);
    
GEvent.addListener(marker"click", function() {
    
marker.openInfoWindowTabsHtml(tabs);
    });
    }
    }
  );
}
function 
createTabMarker(pointtabs,image)
{
    var 
icon = new GIcon();
    
icon.image image[0];
    
icon.iconSize = new GSize(image[1], image[2]);
    
subt image[2] / 100 11;
    
subt Math.ceil(subt);
    var 
anchor image[2] - subt;
    
icon.iconAnchor= new GPoint(10anchor);
    var 
infoanchor image[2] / 3;
    
icon.infoWindowAnchor = new GPoint(infoanchor2);
    var 
marker = new GMarker(point,icon);
    
GEvent.addListener(marker"click", function() {
      
marker.openInfoWindowTabsHtml(tabs);
    });
    return 
marker;
}
function 
createTabMarkerex(point,tabs,image,id,nick,url)
{
    var 
icon = new GIcon();
    
icon.image image[0];
    
icon.iconSize = new GSize(image[1], image[2]);
    
subt image[2] / 100 11;
    
subt Math.ceil(subt);
    var 
anchor image[2] - subt;
    
icon.iconAnchor= new GPoint(10anchor);
    var 
infoanchor image[2] / 3;
    
icon.infoWindowAnchor = new GPoint(infoanchor2);
    
side_bar_html += '<img src=' url '> <a href="javascript:cs_googlemaps_click(' id ')">' nick '</a><br>';
    var 
marker = new GMarker(point,icon);
    
gmarkers[id] = marker;
    
GEvent.addListener(marker"click", function() {
    
marker.openInfoWindowTabsHtml(tabs);
    });
    return 
marker;
}
function 
cs_googlemaps_tilechk(){
        
paragraphs map.getContainer().getElementsByTagName('p').length;
        if(
paragraphs>4)
        {
        
map.zoomOut(false,true);
        }
}
function 
cs_googlemaps_wheelevent(e){
        if (!
ewindow.event;
        if (
e.preventDefaulte.preventDefault();
        
e.returnValue false;
}
function 
cs_googlemaps_click(i) {
        
GEvent.trigger(gmarkers[i], "click");
}
      var 
arrowIcon = new GIcon();
      
arrowIcon.iconSize = new GSize(24,24);
      
arrowIcon.shadowSize = new GSize(1,1);
      
arrowIcon.iconAnchor = new GPoint(12,12);
      
arrowIcon.infoWindowAnchor = new GPoint(0,0);
      var 
degreesPerRadian 180.0 Math.PI;
      function 
bearingfromto ) {
        var 
lat1 from.latRadians();
        var 
lon1 from.lngRadians();
        var 
lat2 to.latRadians();
        var 
lon2 to.lngRadians();

        var 
angle = - Math.atan2Math.sinlon1 lon2 ) * Math.coslat2 ), Math.coslat1 ) * Math.sinlat2 ) - Math.sinlat1 ) * Math.coslat2 ) * Math.coslon1 lon2 ) );
        if ( 
angle 0.0 )
     
angle  += Math.PI 2.0;

        
angle angle degreesPerRadian;
        
angle angle.toFixed(1);

        return 
angle;
      }

      function 
arrowHead(points) {
        var 
p1=points[points.length-1];
        var 
p2=points[points.length-2];
        var 
dir bearing(p2,p1);
        var 
dir Math.round(dir/3) * 3;
        while (
dir >= 120) {dir -= 120;}
        
arrowIcon.image "symbols/googlemaps/arrow/dir_"+dir+".png";
        
map.addOverlay(new GMarker(p1arrowIcon));
      }

      function 
midArrows(points) {
        for (var 
i=1points.length-1i++) {
          var 
p1=points[i-1];
          var 
p2=points[i+1];
          var 
dir bearing(p1,p2);

          var 
dir Math.round(dir/3) * 3;
          while (
dir >= 120) {dir -= 120;}
          
arrowIcon.image "symbols/googlemaps/arrow/dir_"+dir+".png";
          
map.addOverlay(new GMarker(points[i], arrowIcon));
        }
      }
      
window.onunload GUnload;



------------------
p.s. die oben zufindenen Rechtschreibfehler sind eine gratis beigabe ^^

www.DemolitionGroup.de
It's Time to Fight - Play Hard & Fair !
Inaktiv
aschti
Thread-Ersteller


Poststar





Beiträge: 778
# Antwort: 1 - 19.06.2010 um 20:34 Uhr
danke für die hilfe csp-team

geht nun alles wird innerhlab der nächsten 1-2 tagen in modul base reinkommen ^^


------------------
p.s. die oben zufindenen Rechtschreibfehler sind eine gratis beigabe ^^

www.DemolitionGroup.de
It's Time to Fight - Play Hard & Fair !


Zuletzt editiert von aschti am 19.06.2010 um 20:34 Uhr (1x Editiert)
Inaktiv
|
SCHIRI ClanSphere Team


Weltmeister



Herkunft: Hamburg
Beiträge: 5299
# Antwort: 2 - 19.06.2010 um 20:35 Uhr
Hab ihm per icq geholfen. Es ging darum, einen window.setTimeout() einzubauen.


------------------
www.laszlokorte.de

Inaktiv
|

Dieses Thema wurde von SCHIRI ClanSphere Team PM geschlossen.

Antworten: 2
Seite [1]