rename all openstreetcam references to kartaview

closes #8807
This commit is contained in:
Martin Raifer
2021-11-16 17:33:27 +01:00
parent 6a45b66294
commit 25d4ff100f
17 changed files with 113 additions and 111 deletions
+4 -4
View File
@@ -41,15 +41,15 @@ of iD (e.g. `https://ideditor-release.netlify.app`), the following parameters ar
* __`offset`__ - Background imagery alignment offset in meters, formatted as `east,north`.<br/>
_Example:_ `offset=-10,5`
* __`photo_overlay`__ - The street-level photo overlay layers to enable.<br/>
_Example:_ `photo_overlay=streetside,mapillary,openstreetcam`<br/>
_Available values:_ `streetside` (Microsoft Bing), `mapillary`, `mapillary-signs`, `mapillary-map-features`, `openstreetcam`
_Example:_ `photo_overlay=streetside,mapillary,kartaview`<br/>
_Available values:_ `streetside` (Microsoft Bing), `mapillary`, `mapillary-signs`, `mapillary-map-features`, `kartaview`
* __`photo_dates`__ - The range of capture dates by which to filter street-level photos. Dates are given in YYYY-MM-DD format and separated by `_`. One-sided ranges are supported.<br/>
_Example:_ `photo_dates=2019-01-01_2020-12-31`, `photo_dates=2019-01-01_`, `photo_dates=_2020-12-31`<br/>
* __`photo_username`__ - The Mapillary or OpenStreetCam username by which to filter street-level photos. Multiple comma-separated usernames are supported.<br/>
* __`photo_username`__ - The Mapillary or KartaView username by which to filter street-level photos. Multiple comma-separated usernames are supported.<br/>
_Example:_ `photo_user=quincylvania`, `photo_user=quincylvania,chrisbeddow`<br/>
* __`photo`__ - The service and ID of the street-level photo to show.<br/>
_Example:_ `photo=streetside/718514589`<br/>
_Available prefixes:_ `streetside/`, `mapillary/`, `openstreetcam/`
_Available prefixes:_ `streetside/`, `mapillary/`, `kartaview`
* __`presets`__ - A comma-separated list of preset IDs. These will be the only presets the user may select.<br/>
_Example:_ `presets=building,highway/residential,highway/unclassified`
* __`rtl=true`__ - Force iD into right-to-left mode (useful for testing).
+2
View File
@@ -46,6 +46,7 @@ _Breaking developer changes, which may affect downstream projects or sites that
#### :sparkles: Usability & Accessibility
#### :scissors: Operations
#### :camera: Street-Level
* Rename OpenStreetCam layers to KartaView ([#8807])
#### :white_check_mark: Validation
* Clarify description of "disconnected way" validation rule ([#8800])
#### :bug: Bugfixes
@@ -63,6 +64,7 @@ _Breaking developer changes, which may affect downstream projects or sites that
[#8796]: https://github.com/openstreetmap/iD/issues/8796
[#8800]: https://github.com/openstreetmap/iD/pull/8800
[#8805]: https://github.com/openstreetmap/iD/issues/8805
[#8807]: https://github.com/openstreetmap/iD/issues/8807
# 2.20.2
##### 2021-Oct-28
+9 -9
View File
@@ -233,14 +233,14 @@
}
/* OpenStreetCam Image Layer */
.layer-openstreetcam {
/* KartaView Image Layer */
.layer-kartaview {
pointer-events: none;
}
.layer-openstreetcam .viewfield-group * {
.layer-kartaview .viewfield-group * {
fill: #20c4ff;
}
.layer-openstreetcam .sequence {
.layer-kartaview .sequence {
stroke: #20c4ff;
}
@@ -323,8 +323,8 @@ label.streetside-hires {
margin-right: 6px;
}
/* OpenStreetCam viewer */
.osc-wrapper {
/* KartaView viewer */
.kartaview-wrapper {
position: relative;
background-color: #000;
background-image: url(img/loader-black.gif);
@@ -332,16 +332,16 @@ label.streetside-hires {
background-repeat: no-repeat;
}
.osc-wrapper .photo-attribution a:active {
.kartaview-wrapper .photo-attribution a:active {
color: #20c4ff;
}
@media (hover: hover) {
.osc-wrapper .photo-attribution a:hover {
.kartaview-wrapper .photo-attribution a:hover {
color: #20c4ff;
}
}
.osc-image-wrap {
.kartaview-image-wrap {
width: 100%;
height: 100%;
transform-origin:0 0;
+6 -6
View File
@@ -1405,11 +1405,11 @@ en:
signs:
tooltip: "Traffic signs from Mapillary"
view_on_mapillary: "View this image on Mapillary"
openstreetcam_images:
tooltip: "Street-level photos from OpenStreetCam"
openstreetcam:
title: OpenStreetCam
view_on_openstreetcam: "View this image on OpenStreetCam"
kartaview_images:
tooltip: "Street-level photos from KartaView"
kartaview:
title: KartaView
view_on_kartaview: "View this image on KartaView"
note:
note: Note
title: Edit note
@@ -1609,7 +1609,7 @@ en:
offset_change: "Press the small triangle buttons to adjust the imagery offset in small steps, or hold the {leftclick} left mouse button and drag within the gray square to slide the imagery into alignment."
streetlevel:
title: Street Level Photos
intro: "Street level photos are useful for mapping traffic signs, businesses, and other details that you can't see from satellite and aerial images. The iD editor supports street level photos from [Bing Streetside](https://www.microsoft.com/en-us/maps/streetside), [Mapillary](https://www.mapillary.com), and [OpenStreetCam](https://www.openstreetcam.org)."
intro: "Street level photos are useful for mapping traffic signs, businesses, and other details that you can't see from satellite and aerial images. The iD editor supports street level photos from [Bing Streetside](https://www.microsoft.com/en-us/maps/streetside), [Mapillary](https://www.mapillary.com), and [KartaView](https://www.kartaview.org)."
using_h: "Using Street Level Photos"
using: "To use street level photos for mapping, open the {data_icon} **{map_data}** panel on the side of the map to enable or disable the available photo overlays."
photos: "When enabled, the photo overlay displays a line along the sequence of photos. At higher zoom levels, a circle marks at each photo location, and at even higher zoom levels, a cone indicates the direction the camera was facing when the photo was taken."
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -256,7 +256,7 @@ export function rendererBackground(context) {
mapillary: 'Mapillary Images',
'mapillary-map-features': 'Mapillary Map Features',
'mapillary-signs': 'Mapillary Signs',
openstreetcam: 'OpenStreetCam Images'
kartaview: 'KartaView Images'
};
for (let layerID in photoOverlayLayers) {
+7 -7
View File
@@ -7,7 +7,7 @@ import { utilQsString, utilStringQs } from '../util';
export function rendererPhotos(context) {
var dispatch = d3_dispatch('change');
var _layerIDs = ['streetside', 'mapillary', 'mapillary-map-features', 'mapillary-signs', 'openstreetcam'];
var _layerIDs = ['streetside', 'mapillary', 'mapillary-map-features', 'mapillary-signs', 'kartaview'];
var _allPhotoTypes = ['flat', 'panoramic'];
var _shownPhotoTypes = _allPhotoTypes.slice(); // shallow copy
var _dateFilters = ['fromDate', 'toDate'];
@@ -119,16 +119,16 @@ export function rendererPhotos(context) {
}
photos.shouldFilterByDate = function() {
return showsLayer('mapillary') || showsLayer('openstreetcam') || showsLayer('streetside');
return showsLayer('mapillary') || showsLayer('kartaview') || showsLayer('streetside');
};
photos.shouldFilterByPhotoType = function() {
return showsLayer('mapillary') ||
(showsLayer('streetside') && showsLayer('openstreetcam'));
(showsLayer('streetside') && showsLayer('kartaview'));
};
photos.shouldFilterByUsername = function() {
return !showsLayer('mapillary') && showsLayer('openstreetcam') && !showsLayer('streetside');
return !showsLayer('mapillary') && showsLayer('kartaview') && !showsLayer('streetside');
};
photos.showsPhotoType = function(val) {
@@ -180,22 +180,22 @@ export function rendererPhotos(context) {
this.setUsernameFilter(hash.photo_username, false);
}
if (hash.photo_overlay) {
// support enabling photo layers by default via a URL parameter, e.g. `photo_overlay=openstreetcam;mapillary;streetside`
// support enabling photo layers by default via a URL parameter, e.g. `photo_overlay=kartaview;mapillary;streetside`
var hashOverlayIDs = hash.photo_overlay.replace(/;/g, ',').split(',');
hashOverlayIDs.forEach(function(id) {
if (id === 'openstreetcam') id = 'kartaview'; // legacy alias
var layer = _layerIDs.indexOf(id) !== -1 && context.layers().layer(id);
if (layer && !layer.enabled()) layer.enabled(true);
});
}
if (hash.photo) {
// support opening a photo via a URL parameter, e.g. `photo=mapillary-fztgSDtLpa08ohPZFZjeRQ`
var photoIds = hash.photo.replace(/;/g, ',').split(',');
var photoId = photoIds.length && photoIds[0].trim();
var results = /(.*)\/(.*)/g.exec(photoId);
if (results && results.length >= 3) {
var serviceId = results[1];
if (serviceId === 'openstreetcam') serviceId = 'kartaview'; // legacy alias
var photoKey = results[2];
var service = services[serviceId];
if (service && service.ensureViewerLoaded) {
+3 -3
View File
@@ -5,7 +5,7 @@ import serviceMapillary from './mapillary';
import serviceMapRules from './maprules';
import serviceNominatim from './nominatim';
import serviceNsi from './nsi';
import serviceOpenstreetcam from './openstreetcam';
import serviceKartaview from './kartaview';
import serviceOsm from './osm';
import serviceOsmWikibase from './osm_wikibase';
import serviceStreetside from './streetside';
@@ -22,7 +22,7 @@ export let services = {
osmose: serviceOsmose,
mapillary: serviceMapillary,
nsi: serviceNsi,
openstreetcam: serviceOpenstreetcam,
kartaview: serviceKartaview,
osm: serviceOsm,
osmWikibase: serviceOsmWikibase,
maprules: serviceMapRules,
@@ -41,7 +41,7 @@ export {
serviceMapRules,
serviceNominatim,
serviceNsi,
serviceOpenstreetcam,
serviceKartaview,
serviceOsm,
serviceOsmWikibase,
serviceStreetside,
@@ -9,7 +9,7 @@ import { geoExtent, geoScaleToZoom } from '../geo';
import { utilArrayUnion, utilQsString, utilRebind, utilSetTransform, utilStringQs, utilTiler } from '../util';
var apibase = 'https://openstreetcam.org';
var apibase = 'https://kartaview.org';
var maxResults = 1000;
var tileZoom = 14;
var tiler = utilTiler().zoomExtent([tileZoom, tileZoom]).skipNullIsland(true);
@@ -250,15 +250,15 @@ export default {
if (_loadViewerPromise) return _loadViewerPromise;
// add osc-wrapper
var wrap = context.container().select('.photoviewer').selectAll('.osc-wrapper')
// add kartaview-wrapper
var wrap = context.container().select('.photoviewer').selectAll('.kartaview-wrapper')
.data([0]);
var that = this;
var wrapEnter = wrap.enter()
.append('div')
.attr('class', 'photo-wrapper osc-wrapper')
.attr('class', 'photo-wrapper kartaview-wrapper')
.classed('hide', true)
.call(imgZoom.on('zoom', zoomPan))
.on('dblclick.zoom', null);
@@ -295,11 +295,11 @@ export default {
wrapEnter
.append('div')
.attr('class', 'osc-image-wrap');
.attr('class', 'kartaview-image-wrap');
// Register viewer resize handler
context.ui().photoviewer.on('resize.openstreetcam', function(dimensions) {
context.ui().photoviewer.on('resize.kartaview', function(dimensions) {
imgZoom = d3_zoom()
.extent([[0, 0], dimensions])
.translateExtent([[0, 0], dimensions])
@@ -310,7 +310,7 @@ export default {
function zoomPan(d3_event) {
var t = d3_event.transform;
context.container().select('.photoviewer .osc-image-wrap')
context.container().select('.photoviewer .kartaview-image-wrap')
.call(utilSetTransform, t.x, t.y, t.k);
}
@@ -329,14 +329,14 @@ export default {
if (r < -180) r += 360;
sequence.rotation = r;
var wrap = context.container().select('.photoviewer .osc-wrapper');
var wrap = context.container().select('.photoviewer .kartaview-wrapper');
wrap
.transition()
.duration(100)
.call(imgZoom.transform, d3_zoomIdentity);
wrap.selectAll('.osc-image')
wrap.selectAll('.kartaview-image')
.transition()
.duration(100)
.style('transform', 'rotate(' + r + 'deg)');
@@ -372,15 +372,15 @@ export default {
var viewer = context.container().select('.photoviewer')
.classed('hide', false);
var isHidden = viewer.selectAll('.photo-wrapper.osc-wrapper.hide').size();
var isHidden = viewer.selectAll('.photo-wrapper.kartaview-wrapper.hide').size();
if (isHidden) {
viewer
.selectAll('.photo-wrapper:not(.osc-wrapper)')
.selectAll('.photo-wrapper:not(.kartaview-wrapper)')
.classed('hide', true);
viewer
.selectAll('.photo-wrapper.osc-wrapper')
.selectAll('.photo-wrapper.kartaview-wrapper')
.classed('hide', false);
}
@@ -426,8 +426,8 @@ export default {
if (!d) return this;
var wrap = context.container().select('.photoviewer .osc-wrapper');
var imageWrap = wrap.selectAll('.osc-image-wrap');
var wrap = context.container().select('.photoviewer .kartaview-wrapper');
var imageWrap = wrap.selectAll('.kartaview-image-wrap');
var attribution = wrap.selectAll('.photo-attribution').html('');
wrap
@@ -436,7 +436,7 @@ export default {
.call(imgZoom.transform, d3_zoomIdentity);
imageWrap
.selectAll('.osc-image')
.selectAll('.kartaview-image')
.remove();
if (d) {
@@ -445,7 +445,7 @@ export default {
imageWrap
.append('img')
.attr('class', 'osc-image')
.attr('class', 'kartaview-image')
.attr('src', apibase + '/' + d.imagePath)
.style('transform', 'rotate(' + r + 'deg)');
@@ -454,7 +454,7 @@ export default {
.append('a')
.attr('class', 'captured_by')
.attr('target', '_blank')
.attr('href', 'https://openstreetcam.org/user/' + encodeURIComponent(d.captured_by))
.attr('href', 'https://kartaview.org/user/' + encodeURIComponent(d.captured_by))
.html('@' + d.captured_by);
attribution
@@ -477,8 +477,8 @@ export default {
.append('a')
.attr('class', 'image-link')
.attr('target', '_blank')
.attr('href', 'https://openstreetcam.org/details/' + d.sequence_id + '/' + d.sequence_index)
.html('openstreetcam.org');
.attr('href', 'https://kartaview.org/details/' + d.sequence_id + '/' + d.sequence_index)
.html('kartaview.org');
}
return this;
@@ -534,17 +534,17 @@ export default {
// highlight sibling viewfields on either the selected or the hovered sequences
var highlightedImageKeys = utilArrayUnion(hoveredImageKeys, selectedImageKeys);
context.container().selectAll('.layer-openstreetcam .viewfield-group')
context.container().selectAll('.layer-kartaview .viewfield-group')
.classed('highlighted', function(d) { return highlightedImageKeys.indexOf(d.key) !== -1; })
.classed('hovered', function(d) { return d.key === hoveredImageKey; })
.classed('currentView', function(d) { return d.key === selectedImageKey; });
context.container().selectAll('.layer-openstreetcam .sequence')
context.container().selectAll('.layer-kartaview .sequence')
.classed('highlighted', function(d) { return d.properties.key === hoveredSequenceKey; })
.classed('currentView', function(d) { return d.properties.key === selectedSequenceKey; });
// update viewfields if needed
context.container().selectAll('.layer-openstreetcam .viewfield-group .viewfield')
context.container().selectAll('.layer-kartaview .viewfield-group .viewfield')
.attr('d', viewfieldPath);
function viewfieldPath() {
@@ -564,7 +564,7 @@ export default {
if (!window.mocha) {
var hash = utilStringQs(window.location.hash);
if (imageKey) {
hash.photo = 'openstreetcam/' + imageKey;
hash.photo = 'kartaview/' + imageKey;
} else {
delete hash.photo;
}
+1 -1
View File
@@ -13,7 +13,7 @@ export { svgMapillarySigns } from './mapillary_signs.js';
export { svgMidpoints } from './midpoints.js';
export { svgNotes } from './notes.js';
export { svgMarkerSegments } from './helpers.js';
export { svgOpenstreetcamImages } from './openstreetcam_images.js';
export { svgKartaviewImages } from './kartaview_images.js';
export { svgOsm } from './osm.js';
export { svgPassiveVertex } from './helpers.js';
export { svgPath } from './helpers.js';
@@ -4,31 +4,31 @@ import { svgPath, svgPointTransform } from './helpers';
import { services } from '../services';
export function svgOpenstreetcamImages(projection, context, dispatch) {
export function svgKartaviewImages(projection, context, dispatch) {
var throttledRedraw = _throttle(function () { dispatch.call('change'); }, 1000);
var minZoom = 12;
var minMarkerZoom = 16;
var minViewfieldZoom = 18;
var layer = d3_select(null);
var _openstreetcam;
var _kartaview;
function init() {
if (svgOpenstreetcamImages.initialized) return; // run once
svgOpenstreetcamImages.enabled = false;
svgOpenstreetcamImages.initialized = true;
if (svgKartaviewImages.initialized) return; // run once
svgKartaviewImages.enabled = false;
svgKartaviewImages.initialized = true;
}
function getService() {
if (services.openstreetcam && !_openstreetcam) {
_openstreetcam = services.openstreetcam;
_openstreetcam.event.on('loadedImages', throttledRedraw);
} else if (!services.openstreetcam && _openstreetcam) {
_openstreetcam = null;
if (services.kartaview && !_kartaview) {
_kartaview = services.kartaview;
_kartaview.event.on('loadedImages', throttledRedraw);
} else if (!services.kartaview && _kartaview) {
_kartaview = null;
}
return _openstreetcam;
return _kartaview;
}
@@ -245,10 +245,10 @@ export function svgOpenstreetcamImages(projection, context, dispatch) {
function drawImages(selection) {
var enabled = svgOpenstreetcamImages.enabled,
var enabled = svgKartaviewImages.enabled,
service = getService();
layer = selection.selectAll('.layer-openstreetcam')
layer = selection.selectAll('.layer-kartaview')
.data(service ? [0] : []);
layer.exit()
@@ -256,7 +256,7 @@ export function svgOpenstreetcamImages(projection, context, dispatch) {
var layerEnter = layer.enter()
.append('g')
.attr('class', 'layer-openstreetcam')
.attr('class', 'layer-kartaview')
.style('display', enabled ? 'block' : 'none');
layerEnter
@@ -283,14 +283,14 @@ export function svgOpenstreetcamImages(projection, context, dispatch) {
drawImages.enabled = function(_) {
if (!arguments.length) return svgOpenstreetcamImages.enabled;
svgOpenstreetcamImages.enabled = _;
if (svgOpenstreetcamImages.enabled) {
if (!arguments.length) return svgKartaviewImages.enabled;
svgKartaviewImages.enabled = _;
if (svgKartaviewImages.enabled) {
showLayer();
context.photos().on('change.openstreetcam_images', update);
context.photos().on('change.kartaview_images', update);
} else {
hideLayer();
context.photos().on('change.openstreetcam_images', null);
context.photos().on('change.kartaview_images', null);
}
dispatch.call('change');
return this;
+2 -2
View File
@@ -12,7 +12,7 @@ import { svgMapillaryImages } from './mapillary_images';
import { svgMapillaryPosition } from './mapillary_position';
import { svgMapillarySigns } from './mapillary_signs';
import { svgMapillaryMapFeatures } from './mapillary_map_features';
import { svgOpenstreetcamImages } from './openstreetcam_images';
import { svgKartaviewImages } from './kartaview_images';
import { svgOsm } from './osm';
import { svgNotes } from './notes';
import { svgTouch } from './touch';
@@ -35,7 +35,7 @@ export function svgLayers(projection, context) {
{ id: 'mapillary-position', layer: svgMapillaryPosition(projection, context, dispatch) },
{ id: 'mapillary-map-features', layer: svgMapillaryMapFeatures(projection, context, dispatch) },
{ id: 'mapillary-signs', layer: svgMapillarySigns(projection, context, dispatch) },
{ id: 'openstreetcam', layer: svgOpenstreetcamImages(projection, context, dispatch) },
{ id: 'kartaview', layer: svgKartaviewImages(projection, context, dispatch) },
{ id: 'debug', layer: svgDebug(projection, context, dispatch) },
{ id: 'geolocate', layer: svgGeolocate(projection, context, dispatch) },
{ id: 'touch', layer: svgTouch(projection, context, dispatch) }
+1 -1
View File
@@ -21,7 +21,7 @@ export function uiPhotoviewer(context) {
.on('click', function () {
if (services.streetside) { services.streetside.hideViewer(context); }
if (services.mapillary) { services.mapillary.hideViewer(context); }
if (services.openstreetcam) { services.openstreetcam.hideViewer(context); }
if (services.kartaview) { services.kartaview.hideViewer(context); }
})
.append('div')
.call(svgIcon('#iD-icon-close'));
+1 -1
View File
@@ -73,7 +73,7 @@ export function uiSectionPhotoOverlays(context) {
var titleID;
if (d.id === 'mapillary-signs') titleID = 'mapillary.signs.tooltip';
else if (d.id === 'mapillary') titleID = 'mapillary_images.tooltip';
else if (d.id === 'openstreetcam') titleID = 'openstreetcam_images.tooltip';
else if (d.id === 'kartaview') titleID = 'kartaview_images.tooltip';
else titleID = d.id.replace(/-/g, '_') + '.tooltip';
d3_select(this)
.call(uiTooltip()
+2 -2
View File
@@ -121,7 +121,7 @@
'spec/services/mapillary.js',
'spec/services/maprules.js',
'spec/services/nominatim.js',
'spec/services/openstreetcam.js',
'spec/services/kartaview.js',
'spec/services/osm.js',
'spec/services/osm_wikibase.js',
'spec/services/streetside.js',
@@ -222,4 +222,4 @@
</script>
</body>
</html>
</html>
@@ -1,13 +1,13 @@
describe('iD.serviceOpenstreetcam', function() {
describe('iD.serviceKartaview', function() {
var dimensions = [64, 64];
var context, server, openstreetcam;
var context, server, kartaview;
before(function() {
iD.services.openstreetcam = iD.serviceOpenstreetcam;
iD.services.kartaview = iD.serviceKartaview;
});
after(function() {
delete iD.services.openstreetcam;
delete iD.services.kartaview;
});
beforeEach(function() {
@@ -18,8 +18,8 @@ describe('iD.serviceOpenstreetcam', function() {
.clipExtent([[0,0], dimensions]);
server = window.fakeFetch().create();
openstreetcam = iD.services.openstreetcam;
openstreetcam.reset();
kartaview = iD.services.kartaview;
kartaview.reset();
});
afterEach(function() {
@@ -29,35 +29,35 @@ describe('iD.serviceOpenstreetcam', function() {
describe('#init', function() {
it('Initializes cache one time', function() {
var cache = openstreetcam.cache();
var cache = kartaview.cache();
expect(cache).to.have.property('images');
expect(cache).to.have.property('sequences');
openstreetcam.init();
var cache2 = openstreetcam.cache();
kartaview.init();
var cache2 = kartaview.cache();
expect(cache).to.equal(cache2);
});
});
describe('#reset', function() {
it('resets cache and image', function() {
openstreetcam.cache().foo = 'bar';
openstreetcam.selectImage(context, {key: 'baz'});
kartaview.cache().foo = 'bar';
kartaview.selectImage(context, {key: 'baz'});
openstreetcam.reset();
expect(openstreetcam.cache()).to.not.have.property('foo');
expect(openstreetcam.getSelectedImage()).to.be.null;
kartaview.reset();
expect(kartaview.cache()).to.not.have.property('foo');
expect(kartaview.getSelectedImage()).to.be.null;
});
});
describe('#loadImages', function() {
it('fires loadedImages when images are loaded', function(done) {
openstreetcam.on('loadedImages', function() {
kartaview.on('loadedImages', function() {
expect(server.requests().length).to.eql(1); // 1 nearby-photos
done();
});
openstreetcam.loadImages(context.projection);
kartaview.loadImages(context.projection);
var data = {
status: { apiCode: '600', httpCode: 200, httpMessage: 'Success' },
@@ -110,8 +110,8 @@ describe('iD.serviceOpenstreetcam', function() {
var spy = sinon.spy();
context.projection.translate([0,0]);
openstreetcam.on('loadedImages', spy);
openstreetcam.loadImages(context.projection);
kartaview.on('loadedImages', spy);
kartaview.loadImages(context.projection);
var data = {
status: { apiCode: '600', httpCode: 200, httpMessage: 'Success' },
@@ -167,12 +167,12 @@ describe('iD.serviceOpenstreetcam', function() {
});
it('loads multiple pages of image results', function(done) {
openstreetcam.on('loadedImages', function() {
kartaview.on('loadedImages', function() {
expect(server.requests().length).to.eql(2); // 2 nearby-photos
done();
});
openstreetcam.loadImages(context.projection);
kartaview.loadImages(context.projection);
var features = [];
for (var i = 0; i < 1000; i++) {
@@ -212,8 +212,8 @@ describe('iD.serviceOpenstreetcam', function() {
{ minX: 10, minY: 1, maxX: 10, maxY: 1, data: { key: '2', loc: [10,1], ca: 90, sequence_id: '100', sequence_index: 2 } }
];
openstreetcam.cache().images.rtree.load(features);
var res = openstreetcam.images(context.projection);
kartaview.cache().images.rtree.load(features);
var res = kartaview.images(context.projection);
expect(res).to.deep.eql([
{ key: '0', loc: [10,0], ca: 90, sequence_id: '100', sequence_index: 0 },
@@ -231,8 +231,8 @@ describe('iD.serviceOpenstreetcam', function() {
{ minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '5', loc: [10,0], ca: 90, sequence_id: '100', sequence_index: 5 } }
];
openstreetcam.cache().images.rtree.load(features);
var res = openstreetcam.images(context.projection);
kartaview.cache().images.rtree.load(features);
var res = kartaview.images(context.projection);
expect(res).to.have.length.of.at.most(5);
});
});
@@ -246,10 +246,10 @@ describe('iD.serviceOpenstreetcam', function() {
{ minX: 10, minY: 1, maxX: 10, maxY: 1, data: { key: '2', loc: [10,1], ca: 90, sequence_id: '100', sequence_index: 2 } }
];
openstreetcam.cache().images.rtree.load(features);
openstreetcam.cache().sequences['100'] = { rotation: 0, images: [ features[0].data, features[1].data, features[2].data ] };
kartaview.cache().images.rtree.load(features);
kartaview.cache().sequences['100'] = { rotation: 0, images: [ features[0].data, features[1].data, features[2].data ] };
var res = openstreetcam.sequences(context.projection);
var res = kartaview.sequences(context.projection);
expect(res).to.deep.eql([{
type: 'LineString',
coordinates: [[10,0], [10,0], [10,1]],
@@ -265,9 +265,9 @@ describe('iD.serviceOpenstreetcam', function() {
describe('#selectedImage', function() {
it('sets and gets selected image', function() {
var d = { key: 'foo' };
openstreetcam.cache().images = { forImageKey: { foo: d }};
openstreetcam.selectImage(context, 'foo');
expect(openstreetcam.getSelectedImage()).to.eql(d);
kartaview.cache().images = { forImageKey: { foo: d }};
kartaview.selectImage(context, 'foo');
expect(kartaview.getSelectedImage()).to.eql(d);
});
});
+1 -1
View File
@@ -38,7 +38,7 @@ describe('iD.svgLayers', function () {
expect(d3.select(nodes[8]).classed('mapillary-position')).to.be.true;
expect(d3.select(nodes[9]).classed('mapillary-map-features')).to.be.true;
expect(d3.select(nodes[10]).classed('mapillary-signs')).to.be.true;
expect(d3.select(nodes[11]).classed('openstreetcam')).to.be.true;
expect(d3.select(nodes[11]).classed('kartaview')).to.be.true;
expect(d3.select(nodes[12]).classed('debug')).to.be.true;
expect(d3.select(nodes[13]).classed('geolocate')).to.be.true;
expect(d3.select(nodes[14]).classed('touch')).to.be.true;