Add a pin¶
Add a pin with Entity API
add_pin.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Add a pin</title>
<meta property="og:description" content="Add a pin with Entity API" />
<script src="./v0.10.5/mapray.min.js"></script>
<script src="./v0.10.5/maprayui.min.js"></script>
<link rel="stylesheet" href="./v0.10.5/mapray.css">
<style>
body {margin: 0; padding: 0;}
html, body, div#mapray-container { height: 100%; }
</style>
</head>
<body>
<div id="mapray-container"></div>
</body>
</html>
<script>
const cloudApi = new mapray.cloud.CloudApiV2({
tokenType: mapray.cloud.CloudApi.TokenType.ACCESS_TOKEN,
token: "<YOUR_MAPRAY_ACCESS_TOKEN>"
});
// The StandardUIView in the ui package includes mouse-based camera manipulation.
const uiviewer = new maprayui.StandardUIViewer( "mapray-container", {
dem_provider: new mapray.StandardDemProvider( cloudApi.getDefaultDemAsResource() )
} );
uiviewer.setCameraPosition({
longitude: 139.766365,
latitude: 35.657281,
height: 500
});
uiviewer.setLookAtPosition({
longitude: 139.745340,
latitude: 35.658694,
height: 0
});
// Create Pin Entity
const entity = new mapray.PinEntity( uiviewer.viewer.scene );
// Clamp pins to the ground
entity.altitude_mode = mapray.AltitudeMode.CLAMP;
entity.addMakiIconPin( "communications-tower", new mapray.GeoPoint( 139.745340, 35.658694 ), { size: 60 });
entity.addMakiIconPin( "stadium", new mapray.GeoPoint( 139.714690, 35.677835 ), { size: 60, bg_color: [0, 0, 0], fg_color: [1, 1, 1] });
entity.addTextPin( "A", new mapray.GeoPoint( 139.710065, 35.646704 ), { font_size: 30 });
entity.addTextPin( "Ebisu Sta.", new mapray.GeoPoint( 139.710065, 35.646704 ), { font_size: 30 });
entity.addTextPin( "Shinjuku Sta.", new mapray.GeoPoint( 139.700769, 35.689144 ), { font_size: 30, bg_color: [0.7, 0.2, 0], fg_color: [1, 1, 1] });
entity.addTextPin( "Shibuya Sta.", new mapray.GeoPoint( 139.701837, 35.658166 ), { font_size: 30, bg_color: [0, 0.7, 0.2], fg_color: [1, 1, 1] });
entity.addTextPin( "1", new mapray.GeoPoint( 139.7016379390343, 35.6636089115465 ) );
entity.addTextPin( "2", new mapray.GeoPoint( 139.7022419994583, 35.6686166690923 ) );
entity.addTextPin( "3", new mapray.GeoPoint( 139.7037061504066, 35.6744232568440 ) );
entity.addTextPin( "4", new mapray.GeoPoint( 139.7028861775539, 35.6814513575211 ) );
uiviewer.viewer.scene.addEntity( entity );
</script>
Info
このサンプルコードは、<YOUR_MAPRAY_ACCESS_TOKEN>を、あなたのMapray CloudのアカウントのOrganization Tokenに置き換えるまで、期待通りに動作しません。