[gnome-maps/wip/jonasdn/printmarkers: 2/2] wip: add markers to printLayout
- From: Jonas Danielsson <jonasdn src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-maps/wip/jonasdn/printmarkers: 2/2] wip: add markers to printLayout
- Date: Tue, 23 Feb 2016 20:04:18 +0000 (UTC)
commit 61143956a40a7d8dd32b226fa5eef2167f724923
Author: Jonas Danielsson <jonas threetimestwo org>
Date: Tue Feb 23 21:03:39 2016 +0100
wip: add markers to printLayout
src/printLayout.js | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)
---
diff --git a/src/printLayout.js b/src/printLayout.js
index b4e72fa..8ae35ea 100644
--- a/src/printLayout.js
+++ b/src/printLayout.js
@@ -30,7 +30,6 @@ const Application = imports.application;
const InstructionRow = imports.instructionRow;
const MapMarker = imports.mapMarker;
const MapView = imports.mapView;
-const TurnPointMarker = imports.turnPointMarker;
/* Following constant has unit as meters */
const _SHORT_LAYOUT_MAX_DISTANCE = 3000;
@@ -138,19 +137,37 @@ const PrintLayout = new Lang.Class({
}).bind(this));
},
- _drawMapView: function(width, height, zoomLevel, locations) {
+ _drawMapView: function(width, height, zoomLevel, turnPoints) {
let pageNum = this.numPages - 1;
let x = this._cursorX;
let y = this._cursorY;
let factory = Champlain.MapSourceFactory.dup_default();
let mapSource = factory.create_cached_source(MapView.MapType.STREET);
+ let locations = [];
+ let markerLayer = new Champlain.MarkerLayer();
let view = new Champlain.View({ width: width,
height: height,
zoom_level: zoomLevel });
view.set_map_source(mapSource);
+ view.add_layer(markerLayer);
this._addRouteLayer(view);
+ turnPoints.forEach(function(turnPoint) {
+ locations.push(turnPoint.coordinate);
+ if (turnPoint.isStop()) {
+ print('turnpoint is stop! %s %f %f'.format(turnPoint.iconName,
+ turnPoint.coordinate.latitude,
turnPoint.coordinate.longitude));
+ let actor = MapMarker.actorFromIconName(turnPoint.iconName, 0);
+ let marker = new Champlain.Marker({
+ latitude: turnPoint.coordinate.latitude,
+ longitude: turnPoint.coordinate.longitude
+ });
+ marker.add_actor(actor);
+ markerLayer.add_marker(marker);
+ }
+ });
+
view.ensure_visible(this._route.createBBox(locations), false);
if (view.state !== Champlain.State.DONE) {
let notifyId = view.connect('notify::state', (function() {
@@ -171,7 +188,7 @@ const PrintLayout = new Lang.Class({
_createLocationArray: function(startIndex, endIndex) {
let locationArray = [];
for (let i = startIndex; i < endIndex; i++) {
- locationArray.push(this._route.turnPoints[i].coordinate);
+ locationArray.push(this._route.turnPoints[i]);
}
return locationArray;
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]