2017-11-07 5 views
1

現在、Openlayers v4.2.0からv4.4.2にアップグレードしようとしています。スケーラブルユニット(Ems )をフォントプロパティに追加します。以下は、テキストスタイルを作成するためのスニペットです。 this CodePenOpenlayers 4.4.0+スケーラブルユニット(Ems)を認識できないテキストスタイル

var fill = new ol.style.Fill({ color: "black" }); 
var textStyle = new ol.style.Text({ 
    text: "A", 
    font: "normal 1em Lato", 
    textBaseline: 'bottom', 
    fill: fill 
}); 

私はバージョン4.3.4を使用しているとテキストが体内で指定されたフォントサイズを一致します。

this CodePen私はバージョン4.4.0を使用しましたが、テキストははるかに小さくなっています。 のドキュメントに指定されているように、デフォルトのfontプロパティ値は10px sans-serifです。

フォントのプロパティ値に間違った処理がありますか?または、Openlayersのテキストスタイルと新しいバージョンを使用してスケーラブルユニットを実現する別の方法がありますか?またはこのような状況でスケーラブルフォントを使用することは推奨されていませんか?

答えて

1

パフォーマンス向上のため、テキストレンダリングシステムがv4.4.0で完全に書き直されました。あなたが見ている違いは、テキストがDOMからCSSを継承しない別のキャンバスにプレレンダリングされるという事実から来ています。だからfont-sizeあなたの体(またはマップコンテナに影響を与えるCSS)にある場合は、マップ上にレンダリングされたテキストのemは、常に使用されているフォントのデフォルトのfont-sizeに基づいています。

関連する問題