2016年12月31日土曜日

v3.20.1 がリリースされました

v3.20.1 がリリースされました
日本時間で(2016.12.22)に v3.20.1 がリリースされました。

Releases - openlayers/ol3 GitHub
(https://github.com/openlayers/ol3/releases)より


v3.20.1
Summary

The v3.20.1 release is a patch release that addresses two regressions in the v3.20.0 release. See the v3.20.0 release notes for details on upgrading from v3.19.x.
v3.20.1 リリースは、v3.20.0 での回帰に対処するパッチリリースです。v3.19.x からのアップグレードの詳細について v3.20.0 リリースノートを参照してください。


v3.20.0 がリリースされました
日本時間で(2016.12.12)に v3.20.0 がリリースされました。

Releases - openlayers/ol3 GitHub
(https://github.com/openlayers/ol3/releases)より

v3.20.0
Summary

The v3.20.0 release includes enhancements and fixes from 89 pull requests since the previous release.

v3.20.0 リリースは 前のリリースから、89のプルリクエスト(訳注:Git でリクエストを出す機能)からの拡張と修正が含まれています。

Among the changes, take a look at the new view.animate() function. This replaces the previous map.beforeRender() and ol.animation functions with more intuitive view animations that allow for chaining together multiple transitions and support a callback on animation end. In addition, two or more maps that share a view will be animated together. See the upgrade notes and the animation example for more detail.

変更の中で、new view.animate() 関数を見てみます。 これは、以前の map.beforeRender() および ol.animation 関数を、複数のトランジションを連鎖させ、アニメーション終了時のコールバックをサポートする、より直観的な view animation に置き換えます。 さらに、ビューを共有する2つまたはそれ以上のマップが、一緒にアニメーション化されます。 詳細については、アップグレードノートとアニメーションの例を参照してください。

On the subject of view transitions, scrolling with a trackpad or magic mouse now transitions the view resolution smoothly. Instead of jumping to the next integer zoom level, trackpad or magic mouse scrolling can leave the view at a fractional zoom level. In line with this trackpad behavior, pinch zooming on touch devices also now leaves the view at a fractional zoom level (see the upgrade notes for an option to restore the old behavior).

view transition (ビュー遷移)の対象では、トラックパッドまたはマジックマウスを使用してスクロールすると、ビューの解像度がスムーズに移行します。 次の整数ズームレベルにジャンプする代わりに、トラックパッドまたはマジックマウスのスクロールで、ビューを分数のズームレベルにすることができます。 このトラックパッドの動作に合わせて、タッチデバイスのピンチズームも分数ズームレベルになりました(以前の動作を復元するオプションについては、アップグレードノートを参照してください)。

On the rendering front, the Canvas renderer got another overhaul. This release brings back the strategy of rendering to a dedicated Canvas element per layer. If you were experiencing issues with gaps between tiles on rotated views or when zooming, this change should bring rendering improvements.

正面のレンダリングでは、キャンバスレンダラ(Canvas renderer)がもう一つのオーバーホールを取得します。 このリリースでは、レンダリングするストラテジをレイヤごとに専用の Canvas 要素に戻しています。 回転したビューやズーミングの際にタイル間にずれる問題が発生した場合、この変更によってレンダリングの改善が得られるはずです。

Also on the rendering front, @GaborFarkas completed a nearly 5 month effort to bring line and polygon support to the WebGL renderer. If you're interested in experimenting with WebGL for vector rendering, use renderer: 'webgl' in your map constructor.

正面のレンダリングでも、@GaborFarkasは、WebGLレンダラにラインとポリゴンのサポートを提供するために約5か月の作業を完了しました。 ベクタレンダリングのために WebGL を試したい場合は、マップコンストラクタで「renderer: 'webgl'」を使用してください。

See the full list of changes below. There are some other gems down there.

変更の完全なリストは以下を参照してください。 そこにはいくつかの宝石があります。

Upgrade notes

Use view.animate() instead of map.beforeRender() and ol.animation functions

The map.beforeRender() and ol.animation functions have been deprecated in favor of a new view.animate() function. Use of the deprecated functions will result in a warning during development. These functions are subject to removal in an upcoming release.

map.beforeRender() および ol.animation 関数は、新しい view.animate() 関数のために推奨されなくなりました。 推奨されない関数を使用すると、開発中に警告が表示されます。 これらの関数は、今後のリリースで削除される可能性があります。

For details on the view.animate() method, see the API docs and the view animation example. Upgrading should be relatively straightforward. For example, if you wanted to have an animated pan, zoom, and rotation previously, you might have done this:

view.animate() メソッドの詳細については、API ドキュメントと view animation の例を参照してください。 アップグレードは比較的簡単です。 たとえば、以前は、パン、ズーム、回転をアニメーション化したい場合は、次のようにします。
var zoom = ol.animation.zoom({
  resolution: view.getResolution()
});
var pan = ol.animation.pan({
  source: view.getCenter()
});
var rotate = ol.animation.rotate({
  rotation: view.getRotation()
});

map.beforeRender(zoom, pan, rotate);

map.setZoom(1);
map.setCenter([0, 0]);
map.setRotation(Math.PI);

Now, the same can be accomplished with this:

現在は、これで同じことができます:
view.animate({
  zoom: 1,
  center: [0, 0],
  rotation: Math.PI
});


ol.Map#forEachFeatureAtPixel and ol.Map#hasFeatureAtPixel parameters have changed

ol.Map#forEachFeatureAtPixel および ol.Map#hasFeatureAtPixel パラメータが変更されました。

If you are using the layer filter of one of these methods, please note that you now have to pass in the layer filter via an ol.AtPixelOptions object. If you are not using the layer filter the usage has not changed.

これらのメソッドのレイヤフィルタを使用している場合は、ol.AtPixelOptions オブジェクトを介してレイヤフィルタを渡す必要があることに注意してください。 レイヤフィルタを使用していない場合、使用方法は変更されていません。

Old syntax:
map.forEachFeatureAtPixel(pixel, callback, callbackThis, layerFilterFn, layerFilterThis);

map.hasFeatureAtPixel(pixel, layerFilterFn, layerFilterThis);

New syntax:
map.forEachFeatureAtPixel(pixel, callback.bind(callbackThis), {
  layerFilter: layerFilterFn.bind(layerFilterThis)
});

map.hasFeatureAtPixel(pixel, {
  layerFilter: layerFilterFn.bind(layerFilterThis)
});

This change is due to the introduction of the hitTolerance parameter which can be passed in via this ol.AtPixelOptions object, too.

この変更は、この ol.AtPixelOptions オブジェクトを介して渡すことができるhitToleranceパラメータの導入によるものです。


Use ol.proj.getPointResolution() instead of projection.getPointResolution()

The experimental getPointResolution method has been removed from ol.Projection instances. Since the implementation of this method required an inverse transform (function for transforming projected coordinates to geographic coordinates) and ol.Projection instances are not constructed with forward or inverse transforms, it does not make sense that a projection instance can always calculate the point resolution.

実験的な getPointResolution メソッドが ol.Projection インスタンスから削除されました。 このメソッドの実装には 逆変換(投影座標を地理座標に変換する関数)が必要であり、ol.Projectionインスタンスは順変換または逆変換で構成されていないため、投影インスタンスが常に点の解像度を計算できることは意味がありません。

As a substitute for the projection.getPointResolution() function, a ol.proj.getPointResolution() function has been added. To upgrade, you will need to change things like this:

projection.getPointResolution() 関数の代わりに、ol.proj.getPointResolution() 関数が追加されました。 アップグレードするには、次のように変更する必要があります:
projection.getPointResolution(resolution, point);

into this:
ol.proj.getPointResolution(projection, resolution, point);

Note that if you were previously creating a projection with a getPointResolution function in the constructor (or calling projection.setGetPointResolution() after construction), this function will be used by ol.proj.getPointResolution().

以前、コンストラクタで getPointResolution 関数を使用して投影を作成していた場合(または、作成後に projection.setGetPointResolution() を呼び出した場合)、この関数は ol.proj.getPointResolution() によって使用されることに注意してください。


ol.interaction.PinchZoom no longer zooms to a whole-number zoom level after the gesture ends

The old behavior of ol.interaction.PinchZoom was to zoom to the next integer zoom level after the user ends the gesture.

ol.interaction.PinchZoom の古い動作は、ユーザーがジェスチャーを終了した後、次の整数ズームレベルにズームすることでした。

Now the pinch zoom keeps the user selected zoom level even if it is a fractional zoom.

ピンチズームは、分数ズームであっても、ユーザーが選択したズームレベルを維持します。

To get the old behavior set the new constrainResolution parameter to true like this:

古い動作を取得するには、次のように新しいconstrainResolutionパラメータをtrueに設定します。

new ol.interaction.PinchZoom({constrainResolution: true})

See the pinch zoom example for a complete implementation.

完全な実装については、ピンチズームの例を参照してください。


(Full list of changes と fixes リストはサイトをみてください。)


OpenLayers 3 のホームページ(http://openlayers.org/)の「LATEST」の文中の「v3.20.1」をクリックします。
開いたページ「Downloads for the v3.20.1 release(http://openlayers.org/download/)」の「v3.20.1.zip」ボタンをクリックしてダウンロードします。
展開したフォルダを Eclipse の ol3proj にコピーします。

ディレクトリは次のようにしました。
ol3proj
|-v3.0.0/
|-v3.1.1/
|-v3.2.0/
|-v3.2.1/
|-v3.3.0/
|-v3.4.0/
|-v3.5.0/
|-v3.6.0/
|-v3.7.0/
|-v3.8.2/
|-v3.9.0/
|-v3.10.1/
|-v3.11.2/
|-v3.12.1/
|-v3.13.1/
|-v3.14.0/
|-v3.15.0/
|-v3.16.0/
|-v3.17.0/
|-v3.18.1/
|-v3.19.0/
|-v3.20.1/
|-2xx-ol3ex.html
|-2xx-ol3ex.js
|-2xx-ol3ex-require.js
|-loader.js
|-loader-v3.0.0.js
|-loader-v3.1.1.js
|-loader-v3.2.0.js
|-loader-v3.2.1.js
|-loader-v3.3.0.js
|-loader-v3.4.0.js
|-loader-v3.5.0.js
|-loader-v3.6.0.js
|-loader-v3.7.0.js
|-loader-v3.8.2.js
|-loader-v3.9.0.js
|-loader-v3.10.1.js
|-loader-v3.11.2.js
|-loader-v3.12.1.js
|-loader-v3.13.1.js
|-loader-v3.14.0.js
|-loader-v3.15.0.js
|-loader-v3.16.0.js
|-loader-v3.17.0.js
|-loader-v3.18.1.js

v.3.19.0 の loader.js の名前を loader-v3.19.0.js に変更し、v3.20.1/examples/loader.js を ol3proj 直下にコピーします。
ol3proj
|-v3.0.0/
|-v3.1.1/
|-v3.2.0/
|-v3.2.1/
|-v3.3.0/
|-v3.4.0/
|-v3.5.0/
|-v3.6.0/
|-v3.7.0/
|-v3.8.2/
|-v3.9.0/
|-v3.10.1/
|-v3.11.2/
|-v3.12.1/
|-v3.13.1/
|-v3.14.0/
|-v3.15.0/
|-v3.16.0/
|-v3.17.0/
|-v3.18.1/
|-v3.19.0/
|-v3.20.1/
|-2xx-ol3ex.html
|-2xx-ol3ex.js
|-2xx-ol3ex-require.js
|-loader.js
|-loader-v3.0.0.js
|-loader-v3.1.1.js
|-loader-v3.2.0.js
|-loader-v3.2.1.js
|-loader-v3.3.0.js
|-loader-v3.4.0.js
|-loader-v3.5.0.js
|-loader-v3.6.0.js
|-loader-v3.7.0.js
|-loader-v3.8.2.js
|-loader-v3.9.0.js
|-loader-v3.10.1.js
|-loader-v3.11.2.js
|-loader-v3.12.1.js
|-loader-v3.13.1.js
|-loader-v3.14.0.js
|-loader-v3.15.0.js
|-loader-v3.16.0.js
|-loader-v3.17.0.js
|-loader-v3.18.1.js
|-loader-v3.19.0.js

loader.js の内容を次のように修正します。

---
  if (!raw) {
    // document.write('<scr' + 'ipt type="text/javascript" src="../build/ol.js"></scr' + 'ipt>');
     // ディレクトリ修正
    document.write('<scr' + 'ipt type="text/javascript" src="v3.20.1/build/ol.js"></scr' + 'ipt>');

  } else {
    window.CLOSURE_NO_DEPS = true; // we've got our own deps file
    // document.write('<scr' + 'ipt type="text/javascript" src="../closure-library/closure/goog/base.js"></scr' + 'ipt>');
    // document.write('<scr' + 'ipt type="text/javascript" src="../build/ol-deps.js"></scr' + 'ipt>');
     // ディレクトリ修正
    document.write('<scr' + 'ipt type="text/javascript" src="v3.20.1/closure-library/closure/goog/base.js"></scr' + 'ipt>');
    document.write('<scr' + 'ipt type="text/javascript" src="v3.20.1/build/ol-deps.js"></scr' + 'ipt>');

    document.write('<scr' + 'ipt type="text/javascript" src="' + scriptId + '-require.js"></scr' + 'ipt>');
  }
  document.write('<scr' + 'ipt type="text/javascript" src="' + scriptId + '.js"></scr' + 'ipt>');
}());

0 件のコメント: