2017-10-21 10 views
0

Rでleafletパッケージを使用してマップを生成しました。すべて正常に動作し、マップを自分のウェブサイトに掲載できます。私のウェブサイトはSSLを使用しています。マップがロードされると、CartonDB.Positronがhttp経由でロードされているため、混在したコンテンツ通知が表示されます。具体的には、私は、このメッセージは、「開発者ツール - コンソール」で取得Chromeで:リーフレットを使用してSSLを使用してプロバイダのタイルをロードする

混在したコンテンツ:でページ「https://でmywebsite.comは、」HTTPS経由でロードされますが、安全でない画像」を要求されたhttp://b.basemaps.cartocdn.com/light_all/12/1171/1566.png 'このコンテンツは、HTTPS経由でも配信する必要があります。

RのSSL経由でリーフレットにプロバイダタイルを読み込む方法はありますか?

たとえば、addProviderTilesにSSLからロードするよう指定できますか?今はちょうどaddProviderTiles("CartoDB.Positron")があります。

答えて

0

URLにhttpプロトコルをハードコードしているため、Cartoプロバイダを使用することはオプションではありません。私は彼らのトラッカーで問題を提起しました:https://github.com/rstudio/leaflet/issues/472

を使用すると、カスタムテンプレート使用することができ当分の間:

から撮影
addTiles(
    urlTemplate = "https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png", 
    attribution = '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>, | &copy; <a href="https://carto.com/attribution">Carto</a>', 
    options = tileOptions(minZoom = 0, maxZoom = 18) 
) 

https://rpubs.com/walkerke/custom_tiles

免責事項を、私は機能をテストすることができませんRStudioは私のシステムにインストールされていませんが、私が知る限りは動作するはずです。

+0

これはうまくいくはずですが、そうではないと私は同意します。問題は "urlTemplate =" https "の" s "です。上記のコードを" s "で実行すると、データポイントがプロットされますが、背景イメージはグレーで表示されます。 "http"、マップがロードされ、背景イメージになります。 "https"と呼ばれるようです。残念ながら、 'addTiles'オプションは実行可能な回避策のようには見えません。 – scottsmith

1

フィックス@iH8がおすすめです。ここに私の対応するRコードです。

m <- leaflet() %>% addTiles('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', 
    attribution = paste(
     '&copy; <a href="https://openstreetmap.org">OpenStreetMap</a> contributors', 
     '&copy; <a href="https://cartodb.com/attributions">CartoDB</a>' 
    )) 

Cartoのは、URL (1)お勧めします。

https://cartodb-basemaps-{s}.global.ssl.fastly.net/{style}/{z}/{x}/{y}.png

しかし、単にHTTPSを追加://通常のURLにも作品を。

関連する問題