diff --git a/src/DataViews/GeoView.py b/src/DataViews/GeoView.py index 08086b3cf..ed8b8c316 100644 --- a/src/DataViews/GeoView.py +++ b/src/DataViews/GeoView.py @@ -786,14 +786,14 @@ class GeoView(HtmlView): self.mapview.write("
%s
\n" % message) if curpage != 1: priorfile=GEOVIEW_SUBPATH+"/GeoV-%c-%05d.html" % (ftype,curpage-1) - self.mapview.write(" --" % priorfile) + self.mapview.write("--" % priorfile) else: self.mapview.write(" --") for page in range(1,maxpages+1,1): if page == curpage: self.mapview.write(" %d" % page) else: - if ( page < curpage + 10 ) and ( page > curpage - 10 ): + if ( page < curpage + 11 ) and ( page > curpage - 11 ): nextfile=GEOVIEW_SUBPATH+"/GeoV-%c-%05d.html" % (ftype,page) self.mapview.write(" %d" % (nextfile, page)) if curpage != maxpages: @@ -1085,7 +1085,7 @@ class GeoView(HtmlView): self.mapview.write("overview: true, scale: true, map_type: true });\n") last = "" indm=0 - divclose=1 + divclose=True self.yearinmarker = [] InInterval = False self.setattr = True @@ -1099,18 +1099,30 @@ class GeoView(HtmlView): InInterval = True if InInterval: if last != mark[0]: - self.setattr = True - last = mark[0] - self.mapview.write("\nvar point = new LatLonPoint(%s,%s);"%(mark[3],mark[4])) - self.mapview.write("my_marker = new Marker(point);") - self.mapview.write("gmarkers[%d]=my_marker;" % (indm % NB_MARKERS_PER_PAGE)) + if not divclose: + if InInterval: + self.mapview.write("
\");") + divclose = True + years = "" + if mark[2]: + for y in self.yearinmarker: + years += "%d " % y + years += "end" + self.mapview.write("my_marker.setAttribute('year','%s');" % years) + self.yearinmarker = [] + self.mapview.write("mapstraction.addMarker(my_marker);") indm += 1; if ( indm > lastm ): - InInterval = False + if (indm % NB_MARKERS_PER_PAGE) == 0: + InInterval = False + last = mark[0] if ( indm >= firstm ) and ( indm <= lastm ): + self.mapview.write("\nvar point = new LatLonPoint(%s,%s);"%(mark[3],mark[4])) + self.mapview.write("my_marker = new Marker(point);") + self.mapview.write("gmarkers[%d]=my_marker;" % (( indm - 1 ) % NB_MARKERS_PER_PAGE)) self.mapview.write("my_marker.setLabel(\"%s\");"%mark[0]) self.yearinmarker.append(mark[7]) - divclose=0 + divclose=False self.mapview.write("my_marker.setInfoBubble(\"
") if format == 1: self.mapview.write("%s
____________

%s"%(mark[0],mark[5])) @@ -1124,62 +1136,18 @@ class GeoView(HtmlView): self.mapview.write("
%s - %s" % (mark[7], mark[5])) if self.isyearnotinmarker(self.yearinmarker,mark[7]): self.yearinmarker.append(mark[7]) - cent = int(mark[6]) - if cent: - self.centered = True - if float(mark[3]) == self.minlat: - if signminlat == 1: - latit = str(float(mark[3])+self.centerlat) - else: - latit = str(float(mark[3])-self.centerlat) - else: - if signminlat == 1: - latit = str(float(mark[3])-self.centerlat) - else: - latit = str(float(mark[3])+self.centerlat) - if float(mark[4]) == self.minlon: - if signminlon == 1: - longt = str(float(mark[4])+self.centerlon) - else: - longt = str(float(mark[4])-self.centerlon) - else: - if signminlon == 1: - longt = str(float(mark[4])-self.centerlon) - else: - longt = str(float(mark[4])+self.centerlon) - if divclose == 0: - if InInterval: - self.mapview.write("
\");") - years = "" - if mark[2]: - for y in self.yearinmarker: - years += "%d " % y - years += "end" else: indm += 1 - if self.setattr: - years="" - if mark[2]: - for y in self.yearinmarker: - years += "%d " % y - years += "end" - self.mapview.write("my_marker.setAttribute('year','%s');" % years) - self.yearinmarker = [] - self.mapview.write("mapstraction.addMarker(my_marker);") - self.setattr = False - if self.nbmarkers > 0: - if self.setattr: - years = "" - if mark[2]: - for y in self.yearinmarker: - years += "%d " % y - years += "end" - self.mapview.write("my_marker.setAttribute('year','%s');" % years) - self.yearinmarker = [] - years="" - self.mapview.write("mapstraction.addMarker(my_marker);") - self.setattr = False - else: + if self.nbmarkers > 0 and InInterval: + years = "" + if mark[2]: + for y in self.yearinmarker: + years += "%d " % y + years += "end" + self.mapview.write("\");") + self.mapview.write("my_marker.setAttribute('year','%s');" % years) + self.mapview.write("mapstraction.addMarker(my_marker);") + if self.nbmarkers == 0: # We have no valid geographic point to center the map. # So you'll see the street where I live. # I think another place should be better : @@ -1188,8 +1156,6 @@ class GeoView(HtmlView): # I think we should put here all gramps developpers. # not only me ... # - #longitude = -1.568792 - #latitude = 47.257971 longitude = 0.0 latitude = 0.0 self.mapview.write("\nvar point = new LatLonPoint(%s,%s);\n"%(latitude,longitude)) @@ -1202,7 +1168,6 @@ class GeoView(HtmlView): self.mapview.write(_("This is why you see this map.")) self.mapview.write("\");\n") self.mapview.write(" mapstraction.addMarker(my_marker);") - self.setattr = False self.mapview.write("\n \n") def createPersonMarkers(self,db,person,comment): @@ -1366,9 +1331,10 @@ class GeoView(HtmlView): self.minyear = int(9999) self.maxyear = int(0) self.center = True + person = None if db.active: person = db.active - if person: + if person is not None: family_list = person.get_family_handle_list() if len(family_list) > 0: fhandle = family_list[0] # first is primary @@ -1395,12 +1361,13 @@ class GeoView(HtmlView): self.createPersonMarkers(db,child,comment) if self.center: mess = _("Cannot center the map. No location with coordinates.") + self.create_pages(3, _("You have no active person to see this person's family places."), + mess) else: mess = "" - self.create_pages(3, - ( _("All %s people's familiy places in the database with coordinates.") % - _nd.display(person) ), - mess) + self.create_pages(3, ( _("All %s people's family places in the database with coordinates.") % + _nd.display(person) ), + mess) def createMapstractionPerson(self,db): """ @@ -1417,10 +1384,11 @@ class GeoView(HtmlView): latitude = "" longitude = "" + person = None if db.active: person = db.active self.center = True - if person: + if person is not None: # For each event, if we have a place, set a marker. for event_ref in person.get_event_ref_list(): if not event_ref: @@ -1450,9 +1418,10 @@ class GeoView(HtmlView): self.center = False if self.center: mess = _("Cannot center the map. No location with coordinates.") + self.create_pages(4, _("You have no active person to see this person's places."), mess) else: mess = "" - self.create_pages(4,( _("All event places for %s.") % _nd.display(person) ) ,mess) + self.create_pages(4,( _("All event places for %s.") % _nd.display(person) ), mess) def createMapstractionNotImplemented(self,db): """