definicao de layout

This commit is contained in:
2026-02-06 14:37:54 +00:00
parent 872a5bb3ea
commit a4f80c85c2
2686 changed files with 640668 additions and 294 deletions

View File

@@ -0,0 +1,487 @@
// Common settings
var platform = new H.service.Platform({
app_id: 'devportal-demo-20180625',
app_code: '9v2BkviRwi9Ot26kp2IysQ',
useHTTPS: true
});
var pixelRatio = window.devicePixelRatio || 1;
var defaultLayers = platform.createDefaultLayers({
tileSize: pixelRatio === 1 ? 256 : 512,
ppi: pixelRatio === 1 ? undefined : 320
});
//map 1
function moveMapToBerlin(map){
map.setCenter({lat:52.5159, lng:13.3777});
map.setZoom(14);
}
var map = new H.Map(document.getElementById('map1'),
defaultLayers.normal.map, {pixelRatio: pixelRatio});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers);
moveMapToBerlin(map);
// map2
function setMapViewBounds(map){
var bbox = new H.geo.Rect(42.3736,-71.0751,42.3472,-71.0408);
map.setViewBounds(bbox);
}
var map = new H.Map(document.getElementById('map2'),
defaultLayers.normal.map, {pixelRatio: pixelRatio});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers);
setMapViewBounds(map);
// map3
function switchMapLanguage(map, platform){
var mapTileService = platform.getMapTileService({
type: 'base'
}),
chineseMapLayer = mapTileService.createTileLayer(
'maptile',
'normal.day',
pixelRatio === 1 ? 256 : 512,
'png8',
{lg: 'CHI', ppi: pixelRatio === 1 ? undefined : 320}
);
map.setBaseLayer(chineseMapLayer);
var ui = H.ui.UI.createDefault(map, defaultLayers, 'zh-CN');
ui.removeControl('mapsettings');
}
var map = new H.Map(document.getElementById('map3'),
defaultLayers.normal.map,{
center: {lat:22.2783, lng:114.1588},
zoom: 12,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
switchMapLanguage(map , platform);
// map4
function switchMapType(map, platform){
var aerialMapTileService = platform.getMapTileService({
type: 'aerial'
});
terrainMap = aerialMapTileService.createTileLayer(
'maptile',
'terrain.day',
pixelRatio === 1 ? 256 : 512,
'png8',
{ppi: pixelRatio === 1 ? undefined : 320}
);
map.setBaseLayer(terrainMap);
}
var map = new H.Map(document.getElementById('map4'),
defaultLayers.normal.map,{
center: {lat:27.98805, lng:86.9250},
zoom: 10,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers);
ui.removeControl('mapsettings');
switchMapType(map, platform);
// map5
function useImperialMeasurements(map, defaultLayers){
var ui = H.ui.UI.createDefault(map, defaultLayers);
ui.setUnitSystem(H.ui.UnitSystem.IMPERIAL);
}
var map = new H.Map(document.getElementById('map5'),
defaultLayers.normal.map,{
center: {lat:42.3572, lng:-71.0596},
zoom: 14,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
useImperialMeasurements(map, defaultLayers);
// map6
function panTheMap(map) {
var viewPort,
incX = 1,
incY = 2,
x = 100,
y = 100;
var viewPort = map.getViewPort(),
pan = function() {
x = x + incX;
if (Math.abs(x) > 100) {
incX = -incX;
}
y = y + incY;
if (Math.abs(y) > 100) {
incY = -incY;
}
viewPort.interaction(x, y);
};
viewPort.startInteraction(H.map.render.RenderEngine.InteractionModifiers.COORD);
setInterval(pan, 10);
}
var map = new H.Map(document.getElementById('map6'),
defaultLayers.normal.map,{
center: {lat: 19.11, lng: 72.89},
zoom: 4,
pixelRatio: pixelRatio
});
panTheMap(map);
// map7
function useImperialMeasurements(map, defaultLayers){
var ui = H.ui.UI.createDefault(map, defaultLayers);
ui.setUnitSystem(H.ui.UnitSystem.IMPERIAL);
}
var map = new H.Map(document.getElementById('map7'),
defaultLayers.normal.map,{
center: {lat:42.3572, lng:-71.0596},
zoom: 14,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
useImperialMeasurements(map, defaultLayers);
// map 8
function addVenueLayer(map, platform, renderControls) {
var customVenueLayer = platform.getVenueService().createTileLayer({
onSpaceCreated: onSpaceCreated
});
var venueProvider = customVenueLayer.getProvider();
map.addLayer(customVenueLayer);
renderControls('Change floor', {
'+1 Level': function () {
venueProvider.setCurrentLevel(venueProvider.getCurrentLevel() + 1);
},
'-1 Level': function () {
venueProvider.setCurrentLevel(venueProvider.getCurrentLevel() - 1);
}
});
}
function onSpaceCreated(space) {
if (space.getData().preview === 'H&M') {
space.setStyle({
fillColor: 'rgba(0,255,0,0.3)'
});
}
}
var map = new H.Map(document.getElementById('map8'), defaultLayers.normal.map, {
center: new H.geo.Point(52.5189, 13.4158),
zoom: 17,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers, 'en-US');
function renderControls(title, buttons) {
var containerNode = document.createElement('div');
containerNode.innerHTML = '<h4 class="title">' + title + '</h4><div class="btn-group"></div>';
containerNode.setAttribute('style',
'position:absolute;top:0;left:0;background-color:#fff; padding:10px;text-align:center');
Object.keys(buttons).forEach(function (label) {
var input = document.createElement('input');
input.value = label;
input.type = 'button';
input.onclick = buttons[label];
input.className="btn btn-sm btn-default"
containerNode.lastChild.appendChild(input);
});
map.getElement().appendChild(containerNode);
}
addVenueLayer(map, platform, renderControls);
// map9
function setUpCustomZooming(map) {
var clevelandCircle = new H.map.Circle(
new H.geo.Point(41.4822, -81.6697), //center
11703,
{style: {fillColor: 'rgba(0, 255, 221, 0.66)'}}
);
var torontoCircle = new H.map.Circle(
new H.geo.Point(43.7000, -79.4000), //center
75090,
{style: {fillColor: 'rgba(0, 255, 221, 0.66)'}}
);
var chicagoCircle = new H.map.Circle(
new H.geo.Point(41.8369, -87.6847), //center
81570,
{style: {fillColor: 'rgba(0, 221, 255, 0.66)'}}
);
var newYorkCircle = new H.map.Circle(
new H.geo.Point(40.7127, -74.0059), //center
252180,
{style: {fillColor: 'rgba(221, 0, 255, 0.66)'}}
);
clevelandCircle.setData({maxZoom: 7});
torontoCircle.setData({maxZoom: 5});
chicagoCircle.setData({maxZoom: 5});
newYorkCircle.setData({maxZoom: 4});
var container = new H.map.Group({
objects: [clevelandCircle, torontoCircle, chicagoCircle, newYorkCircle]
});
container.addEventListener('tap', function (evt) {
var target = evt.target;
var maxZoom = target.getData().maxZoom;
var cameraData = map.getCameraDataForBounds(target.getBounds());
map.setZoom(Math.min(cameraData.zoom, maxZoom), true);
map.setCenter(cameraData.position, true);
});
map.addObject(container);
}
var map = new H.Map(document.getElementById('map9'), defaultLayers.normal.map, {
center: new H.geo.Point(41.4822, -81.6697),
zoom: 4,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
setUpCustomZooming(map);
// map10
function restrictMap(map){
var bounds = new H.geo.Rect(37.829, -122.426, 37.824, -122.42);
map.getViewModel().addEventListener('sync', function() {
var center = map.getCenter();
if (!bounds.containsPoint(center)) {
if (center.lat > bounds.getTop()) {
center.lat = bounds.getTop();
} else if (center.lat < bounds.getBottom()) {
center.lat = bounds.getBottom();
}
if (center.lng < bounds.getLeft()) {
center.lng = bounds.getLeft();
} else if (center.lng > bounds.getRight()) {
center.lng = bounds.getRight();
}
map.setCenter(center);
}
});
map.addObject(new H.map.Rect(bounds, {
style: {
fillColor: 'rgba(55, 85, 170, 0.1)',
strokeColor: 'rgba(55, 85, 170, 0.6)',
lineWidth: 8
}
}
));
}
var map = new H.Map(document.getElementById('map10'),
defaultLayers.normal.map,{
center: {lat:37.82667, lng:-122.423333},
zoom: 16,
pixelRatio: pixelRatio
});
map.setBaseLayer(defaultLayers.satellite.map);
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers, 'en-US');
restrictMap(map);
// map11
var PHI = 0.9005,
omega = 4.1214,
t = 0,
tick = 0,
x = 0,
lastZoom = NaN;
function drawGroundTrack(x, t, zoom, radius, ctx, projection, screenCenter) {
ctx.beginPath();
for (var i = 1024; i >= 0; i--) {
if (x <= 0) {
x = projection.w;
ctx.stroke();
ctx.beginPath();
}
y = radius * Math.sin(omega * t + PHI);
x -= Math.pow(2, zoom);
pX = x - projection.x + screenCenter.x;
pY = y + (projection.w / 2) - projection.y + screenCenter.y;
ctx.lineTo(pX, pY);
t -= 0.007;
}
ctx.stroke();
}
function renderCallback(ctx, renderParams) {
var zoom = renderParams.zoom,
projection = renderParams.projection,
screenCenter = renderParams.screenCenter,
radius = Math.pow(2, (projection.exp + zoom)) / (2 * Math.PI),
y,
pX,
pY;
if (isNaN(lastZoom)) {
lastZoom = zoom;
}
ctx.strokeStyle = 'yellow';
if (zoom !== lastZoom) {
x = tick * Math.pow(2, zoom);
}
x += Math.pow(2, zoom);
y = radius * Math.sin(omega * t + PHI);
pX = x - projection.x + screenCenter.x;
pY = y + (projection.w / 2) - projection.y + screenCenter.y;
ctx.moveTo(pX - 10, pY - 10);
ctx.lineTo(pX + 10, pY + 10);
ctx.moveTo(pX + 10, pY - 10);
ctx.lineTo(pX - 10, pY + 10);
ctx.stroke();
if (lastZoom === zoom) {
drawGroundTrack(x, t, zoom, radius, ctx, projection, screenCenter);
}
lastZoom = zoom;
tick += 1;
t += 0.007;
if (tick > 256) {
tick = 0;
x = 0;
}
return H.map.render.RenderState.ACTIVE;
}
function addCanvasOverlay(map, platform){
var canvasLayer = new H.map.layer.CanvasLayer(renderCallback)
map.addLayer(canvasLayer);
}
var map = new H.Map(document.getElementById('map11'),
defaultLayers.satellite.map,{
center: {lat: 0, lng: 0},
zoom: 1,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers);
ui.removeControl('mapsettings');
addCanvasOverlay(map, platform);
// map12
function addMarkersToMap(map) {
var parisMarker = new H.map.Marker({lat:48.8567, lng:2.3508});
map.addObject(parisMarker);
var romeMarker = new H.map.Marker({lat:41.9, lng: 12.5});
map.addObject(romeMarker);
var berlinMarker = new H.map.Marker({lat:52.5166, lng:13.3833});
map.addObject(berlinMarker);
var madridMarker = new H.map.Marker({lat:40.4, lng: -3.6833});
map.addObject(madridMarker);
var londonMarker = new H.map.Marker({lat:51.5008, lng:-0.1224});
map.addObject(londonMarker);
}
var map = new H.Map(document.getElementById('map12'),
defaultLayers.normal.map,{
center: {lat:50, lng:5},
zoom: 4,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers);
addMarkersToMap(map);
// map13
function addDraggableMarker(map, behavior){
var marker = new H.map.Marker({lat:42.35805, lng:-71.0636});
marker.draggable = true;
map.addObject(marker);
map.addEventListener('dragstart', function(ev) {
var target = ev.target;
if (target instanceof H.map.Marker) {
behavior.disable();
}
}, false);
map.addEventListener('dragend', function(ev) {
var target = ev.target;
if (target instanceof mapsjs.map.Marker) {
behavior.enable();
}
}, false);
map.addEventListener('drag', function(ev) {
var target = ev.target,
pointer = ev.currentPointer;
if (target instanceof mapsjs.map.Marker) {
target.setPosition(map.screenToGeo(pointer.viewportX, pointer.viewportY));
}
}, false);
}
var map = new H.Map(document.getElementById('map13'),
defaultLayers.normal.map,{
center: {lat:42.35805, lng:-71.0636},
zoom: 12,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers, 'en-US');
addDraggableMarker(map, behavior);
// map14
function addPolylineToMap(map) {
var lineString = new H.geo.LineString();
lineString.pushPoint({lat:53.3477, lng:-6.2597});
lineString.pushPoint({lat:51.5008, lng:-0.1224});
lineString.pushPoint({lat:48.8567, lng:2.3508});
lineString.pushPoint({lat:52.5166, lng:13.3833});
map.addObject(new H.map.Polyline(
lineString, { style: { lineWidth: 4 }}
));
}
var map = new H.Map(document.getElementById('map14'),
defaultLayers.normal.map,{
center: {lat:52, lng:5},
zoom: 5,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers);
addPolylineToMap(map);
// map15
function addPolygonToMap(map) {
var lineString = new H.geo.LineString(
[52, 13, 100, 48, 2, 100, 48, 16, 100, 52, 13, 100],
'values lat lng alt'
);
map.addObject(
new H.map.Polygon(lineString, {
style: {
fillColor: '#FFFFCC',
strokeColor: '#829',
lineWidth: 8
}
})
);
}
var map = new H.Map(document.getElementById('map15'),
defaultLayers.normal.map,{
center: {lat:52, lng:5},
zoom: 5,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers);
addPolygonToMap(map);
// map16
function addCircleToMap(map){
map.addObject(new H.map.Circle(
{lat:28.6071, lng:77.2127},
1000,
{
style: {
strokeColor: 'rgba(55, 85, 170, 0.6)', // Color of the perimeter
lineWidth: 2,
fillColor: 'rgba(0, 128, 0, 0.7)' // Color of the circle
}
}
));
}
var map = new H.Map(document.getElementById('map16'),
defaultLayers.normal.map,{
center: {lat:28.6071, lng:77.2127},
zoom: 13,
pixelRatio: pixelRatio
});
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers);
addCircleToMap(map);

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long