多角形を表示する
実行結果
次の例では、多角形を描画します。
ソースコードと解説
多角形を描画するには、ZDC.Polygonクラスと、ZDC.MapクラスのaddWidget(widget)を利用します。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- ローダーのURLをscriptでロードする -->
<script src="https://{DOMAIN}/zma_loader.js?key=[APIキー]&auth=[認証方式]"></script>
<script type="text/javascript">
// オブジェクト
var map;
// 中心点の緯度経度(東京駅)
const lat = 35.681406, lng = 139.767132;
// ZMALoader
ZMALoader.setOnLoad(function (mapOptions, error) {
if (error) {
console.error(error)
return
}
// マップオプションをデフォルト値から変更する
mapOptions.center = new ZDC.LatLng(lat, lng); // 中心点の緯度経度を設定
mapOptions.zoom = 10;
// 地図を生成
map = new ZDC.Map(
document.getElementById('ZMap'),
mapOptions,
function() {
// Success callback
/* 頂点の配列(外側)を作成 */
var latlngs1 = [];
latlngs1.push(new ZDC.LatLng(35.6607694489887, 139.7419563985648));
latlngs1.push(new ZDC.LatLng(35.6845229143682, 139.7286721190967));
latlngs1.push(new ZDC.LatLng(35.7057395047171, 139.7473525622848));
latlngs1.push(new ZDC.LatLng(35.7032096194981, 139.7793172849411));
latlngs1.push(new ZDC.LatLng(35.6794617174330, 139.7926015644093));
latlngs1.push(new ZDC.LatLng(35.6582381374606, 139.7739211212211));
/* 頂点の配列(内側)を作成 */
var latlngs2 = [];
latlngs2.push(new ZDC.LatLng(35.6921309732335, 139.7584403258811));
latlngs2.push(new ZDC.LatLng(35.6789032912005, 139.7484184084603));
latlngs2.push(new ZDC.LatLng(35.6705924719100, 139.7661655538930));
latlngs2.push(new ZDC.LatLng(35.6856869918577, 139.7757698914212));
/* ★ポリゴン(多角形)を作成 */
var plg = new ZDC.Polygon([latlngs1,latlngs2], {
fill: '#FF0000',
strokeWidth: 3,
propagation: true
});
/* ポリゴン(多角形)を追加 */
map.addWidget(plg);
},
function() {
// Failure callback
}
);
});
</script>
</head>
<body>
<div id="ZMap" style="position: relative; max-width: calc(510px * 16 / 9); height:510px; border:1px solid #777777;"></div>
</body>
</html>