R 中 Leaflet 中的 openweathermap 天气图块
openweathermap weather tile in Leaflet in R
我正在尝试使用 leaflet-openweathermap
javascript 可用库 here 在 Shiny 应用程序中的 leaflet
地图上添加自定义天气图块。我不熟悉 javascript 并且地图不渲染天气图层。
我首先下载了 leaflet-openweathermap.js
并将其放在我的应用程序路径中的 www/js
文件夹中。然后我注册了插件:
openWeatherPlugin <- htmlDependency(
"Leaflet.OpenWeather",
"1.6.0",
src = normalizePath(path = getwd()),
script = "www/js/leaflet.openweathermap.js"
)
要在传单上渲染天气层,这是我尝试过的:
leaflet() %>%
addTiles() %>%
registerPlugin(openWeatherPlugin) %>%
onRender("
function(el, x){
L.OWM.clouds({showLegend: true, opacity: 0.5, appId: 'MY_APP_ID'})
}
")
MY_APP_ID
是从 openweathermap.org 获得的有效 ID
但是,上面的代码不会生成所需的云天气层。我不熟悉 javascript 并且不知道这段代码有什么问题。感谢您的帮助。
如果在 onRender
调用中添加 .addTo(this);
会怎样,例如:
onRender("function(el, x){
L.OWM.clouds({showLegend: true, opacity: 0.5, appId: 'MY_APP_ID'}).addTo(this);
}
")
并且 javascript 文件名为 leaflet-openweathermap.js
并且您有 leaflet.openweathermap.js
或者您是否将连字符更改为一个点?
我用你的 API 密钥没有任何问题。所以我认为 ID 无效,因为我在控制台中收到此消息。
[HTTP/1.1 401 Unauthorized 99ms]
appId
是你的私钥,不是名字。
它使用有效密钥。
我正在使用 addProviderTiles
函数而不是原始 javascript 或 openweather 库。为此,我必须在我的 OpenWeatherMap 帐户的 providerTileOptions
中添加 apiKey
:
mw = leaflet() %>%
addProviderTiles(providers$CartoDB.Positron) %>%
setView(-122.36075812146, 35.6759920119894, zoom = 11) %>%
addProviderTiles(providers$OpenWeatherMap.Wind,
options=providerTileOptions(apiKey="<myAPIkey>"))
mw
我正在尝试使用 leaflet-openweathermap
javascript 可用库 here 在 Shiny 应用程序中的 leaflet
地图上添加自定义天气图块。我不熟悉 javascript 并且地图不渲染天气图层。
我首先下载了 leaflet-openweathermap.js
并将其放在我的应用程序路径中的 www/js
文件夹中。然后我注册了插件:
openWeatherPlugin <- htmlDependency(
"Leaflet.OpenWeather",
"1.6.0",
src = normalizePath(path = getwd()),
script = "www/js/leaflet.openweathermap.js"
)
要在传单上渲染天气层,这是我尝试过的:
leaflet() %>%
addTiles() %>%
registerPlugin(openWeatherPlugin) %>%
onRender("
function(el, x){
L.OWM.clouds({showLegend: true, opacity: 0.5, appId: 'MY_APP_ID'})
}
")
MY_APP_ID
是从 openweathermap.org 获得的有效 ID
但是,上面的代码不会生成所需的云天气层。我不熟悉 javascript 并且不知道这段代码有什么问题。感谢您的帮助。
如果在 onRender
调用中添加 .addTo(this);
会怎样,例如:
onRender("function(el, x){
L.OWM.clouds({showLegend: true, opacity: 0.5, appId: 'MY_APP_ID'}).addTo(this);
}
")
并且 javascript 文件名为 leaflet-openweathermap.js
并且您有 leaflet.openweathermap.js
或者您是否将连字符更改为一个点?
我用你的 API 密钥没有任何问题。所以我认为 ID 无效,因为我在控制台中收到此消息。
[HTTP/1.1 401 Unauthorized 99ms]
appId
是你的私钥,不是名字。
它使用有效密钥。
我正在使用 addProviderTiles
函数而不是原始 javascript 或 openweather 库。为此,我必须在我的 OpenWeatherMap 帐户的 providerTileOptions
中添加 apiKey
:
mw = leaflet() %>%
addProviderTiles(providers$CartoDB.Positron) %>%
setView(-122.36075812146, 35.6759920119894, zoom = 11) %>%
addProviderTiles(providers$OpenWeatherMap.Wind,
options=providerTileOptions(apiKey="<myAPIkey>"))
mw