我正在尝试使用OpenStreetMap库在R中绘制地图。
我可以使用osm、stamen-toner、stamen-terrain和stamen-watercolor等类型,例如:
map <- openproj(openmap(c(63.47,10.32),c(63.37,10.54),type='osm'),proj=CRS('+init=epsg:32632'))
par(mar=c(0,0,0,0))
plot(map)运行得很好:

我将在该层上添加这些点。但是,我的客户端想要一个map-box类型,但是当我运行
map <- openproj(openmap(c(63.47,10.32),c(63.37,10.54),type='mapbox'),proj=CRS('+init=epsg:32632'))我得到以下错误:
failed loading 12/2165/1106 Server returned HTTP response code: 401 for URL: http://api.tiles.mapbox.com/v4/examples.map-zr0njcqy/12/2165/1106.png?access_token=pk.eyJ1IjoidGhlZmVsbCIsImEiOiJjaXN1anNwODEwMWlrMnRvZHBhamRrZjlqIn0.Gf8qLSpZ6yo5yfQhEutFfQ
java.lang.NullPointerException
at edu.cens.spatial.RTileController.getTileValues(RTileController.java:109)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at RJavaTools.invokeMethod(RJavaTools.java:386)
Error in osmtile(x%%nX, y, zoom, type) :
could not obtain tile: 2165 1106 12我知道我需要一个API密钥。我已经在MapBox site创建了一个。但是现在,如何获得map-box类型的映射呢?给出的例子如下
apiKey <- paste0('?access_token=','{my key}')
baseUrl <- 'https://api.mapbox.com/styles/v1/mapbox/satellite-streets-v9/tiles/256/{z}/{x}/{y}'
map <- openproj(openmap(c(63.47,10.32),c(63.37,10.54),type=paste0(baseUrl,apiKey)),proj=CRS('+init=epsg:32632'))我尝试用mapbox替换satellite-streets-v9或简单地删除此目录,但不起作用。我不知道如何将我的API key添加到原来的命令openmap(c(63.47,10.32),c(63.37,10.54),type='mapbox')中。我在mapbox的网站上也找不到任何有用的东西。
发布于 2019-07-14 00:48:45
我必须输入Mapbox Studio,创建一个默认样式(类似于我想要的mapbox样式),才能在“图层概述”窗口中看到他们的默认主题称为"Mapbox Streets v8“。从那里,我猜我应该使用
https://api.mapbox.com/styles/v1/mapbox/streets-v8/tiles/256/{z}/{x}/{y}作为我的baseUrl。它成功了!
https://stackoverflow.com/questions/56998484
复制相似问题