I would also like to zoom in beyond 1:1,128 to 1:564 or 1:282. We are evaluating using collector with a survey grade GPS to capture infrastructure with 5 cm accuracy. Not having the ability to zoom close enough is forcing us to use ArcPad on the GPS units. Is there a solution planning for this?
Adam,
You can create your own basemaps and put them on to collector, there is a blog that shows you how to do it here:
Using your own Basemap layers with Collector for ArcGIS | ArcGIS Blog
Anthony,
Are you saying that the zoom level of ArcGIS Online is dependent upon the tiling level of a published basemap? It makes sense but I've never thought of it. It will be something I'll have to try. However, using the javascript api I've always had to add additional zoom levels through code in order for it to work and then the basemaps would display a message indicating that the tile was not available at that scale.
Zooming in beyond the preset levels is important to my work and I'm always having to look for work-arounds. For ArcGIS online, I have not yet been successful. I'm going to check out publishing my own basemap and see if that works.
Thanks for the idea.
As far as I can tell collector is limited to the scales you have set in your cache, when you use the javascript API it now makes use if resampling allowing you to zoom in past the lowest cache layer, see this blog:
The zoom level in javascript is set by the tile levels of the first map loaded. Once you hit the max level, you cannot zoom in further.
You have two options. Publish/use your own basemap with additional levels, and ensure that basemap is loaded FIRST
or
Create you map object with a custom set of LODs (levels of detail) specifying more levels.
We do the later, since our basemap as 0-20 levels (we will be adding level 21 and 22 soon, 20 is 1:564, 21 1:282, 22 1:141) and load the custom LODs to override the zoom scales.
this.map = new Map("map",
{ infoWindow: popup,
basemap: "streets",
autoResize: true,
sliderStyle: style,
logo: false,
showAttribution: false,
lods: lods,
minZoom:10 });
with lods
var lods =
[
{
"level": 0,
"resolution": 156543.03392800014,
"scale": 5.91657527591555E8
},
{
"level": 1,
"resolution": 78271.51696399994,
"scale": 2.95828763795777E8
},
{
"level": 2,
"resolution": 39135.75848200009,
"scale": 1.47914381897889E8
},
{
"level": 3,
"resolution": 19567.87924099992,
"scale": 7.3957190948944E7
},
{
"level": 4,
"resolution": 9783.93962049996,
"scale": 3.6978595474472E7
},
{
"level": 5,
"resolution": 4891.96981024998,
"scale": 1.8489297737236E7
},
{
"level": 6,
"resolution": 2445.98490512499,
"scale": 9244648.868618
},
{
"level": 7,
"resolution": 1222.992452562495,
"scale": 4622324.434309
},
{
"level": 8,
"resolution": 611.4962262813797,
"scale": 2311162.217155
},
{
"level": 9,
"resolution": 305.74811314055756,
"scale": 1155581.108577
},
{
"level": 10,
"resolution": 152.87405657041106,
"scale": 577790.554289
},
{
"level": 11,
"resolution": 76.43702828507324,
"scale": 288895.277144
},
{
"level": 12,
"resolution": 38.21851414253662,
"scale": 144447.638572
},
{
"level": 13,
"resolution": 19.10925707126831,
"scale": 72223.819286
},
{
"level": 14,
"resolution": 9.554628535634155,
"scale": 36111.909643
},
{
"level": 15,
"resolution": 4.77731426794937,
"scale": 18055.954822
},
{
"level": 16,
"resolution": 2.388657133974685,
"scale": 9027.977411
},
{
"level": 17,
"resolution": 1.1943285668550503,
"scale": 4513.988705
},
{
"level": 18,
"resolution": 0.5971642835598172,
"scale": 2256.994353
},
{
"level": 19,
"resolution": 0.29858214164761665,
"scale": 1128.497176
},
{
"level": 20,
"resolution": 0.14929107082380833,
"scale": 564.248588
}
];
We are using our own tile packaged basemaps loaded onto our iPads through iTunes, however I still seem to be encountering the max zoom level of 1:1,128. This make sense because we don't have the option when making the tile packages for greater detail than 1:1,128. Is there a way around this?
I should mention we do not have ArcServer and we are relying solely on ArcGIS Online.
Right, since you are choosing ArcGIS Online format, you can only go up to 20 (0-19). Under tiling scheme, you need to choose custom, and then add your two levels of detail
Excellent, got it figured, thanks. It just involved adding some XML code to the conf.xml file from my previous package.
<LODInfo xsi:type='typens:LODInfo'> | ||||
<LevelID>20</LevelID> | ||||
<Scale>564.24858800000005</Scale> | ||||
<Resolution>0.14929107082380849</Resolution> | ||||
</LODInfo> | ||||
<LODInfo xsi:type='typens:LODInfo'> | ||||
<LevelID>21</LevelID> | ||||
<Scale>282.124294000000025</Scale> | ||||
<Resolution>0.074645535411904245</Resolution> | ||||
</LODInfo> | ||||
<LODInfo xsi:type='typens:LODInfo'> | ||||
<LevelID>22</LevelID> | ||||
<Scale>141.0621470000000125</Scale> | ||||
<Resolution>0.0373227677059521225</Resolution> | ||||
</LODInfo> |
Thanks for sharing this, very helpful.