<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>GeoPics</title>
<script id="sap-ui-bootstrap"
src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
data-sap-ui-theme="sap_fiori_3"
data-sap-ui-resourceroots='{"GeoPic.GeoPics": "./"}'
data-sap-ui-compatVersion="edge"
data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"
data-sap-ui-async="true"
data-sap-ui-frameOptions="trusted">
</script>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=API_KEY&sensor=false">
</script>
<style>
.GeoMap {
height: 50%;
width: 100%;
}
.PicsArea{
background-color: #0f4c75;
}
</style>
</head>
<body class="sapUiBody">
<div id = "GeoMAP" data-sap-ui-component data-name="GeoPic.GeoPics" data-id="container" data-settings='{"id" : "GeoPics"}'></div>
</body>
</html>
<mvc:View controllerName="GeoPic.GeoPics.controller.main"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m"
xmlns:vbm="sap.ui.vbm">
<App id="app">
<pages>
<Page id="page" title="{i18n>title}">
<content>
<HBox id="geoMap" fitContainer="true" justifyContent="Center" alignItems="Center" height="50%">
</HBox>
<TileContainer id="Pics" height="50%"/>
</content>
</Page>
</pages>
</App>
</mvc:View>
sap.ui.define([
"sap/ui/core/mvc/Controller"
], function (Controller) {
"use strict";
return Controller.extend("GeoPic.GeoPics.controller.main", {
onInit: function () {
this.getView().byId("Pics").addStyleClass("PicsArea");
},
onAfterRendering: function() {
if (!this.initialized){
this.initialized = true;
this.geocoder = new google.maps.Geocoder();
var mapProp= { zoom:15 };
var oMap = new google.maps.Map(this.getView().byId("geoMap").getDomRef(),mapProp);
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude,
zoom: 15,
};
oMap.setCenter(pos);
sap.ui.controller("GeoPic.GeoPics.controller.main").addTiles(pos.lat, pos.lng)
var oMarker = new google.maps.Marker({position: oPoint, map: oMap});
oMap.addListener('click', function(e) {
var marker = new google.maps.Marker({
position: e.latLng,
map: oMap
});
oMap.panTo(e.latLng);
sap.ui.controller("GeoPic.GeoPics.controller.main").addTiles(marker.getPosition().lat(), marker.getPosition().lng())
});
}, function() {
handleLocationError(true, infoWindow, oMap.getCenter());
});
} else {
alert("Geolocation is not supported by this browser.");
}
}
else
{
var oMarker = new google.maps.Marker({position: oPoint, map: oMap});
var oPoint = new google.maps.LatLng(vLat,vLong);
oMap.setCenter(oPoint);
oMap.setZoom(10);
}
},
getLocation: function(oMap) {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(sap.ui.controller("geopics.main").showPosition(oMap));
} else {
alert("Geolocation is not supported by this browser.");
}
},
showPosition: function(oMap, position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
map.setCenter(new google.maps.LatLng(lat, lng));
},
addTiles: function(lat, long){
var URL = "https://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=FLICKR_API_KEY"
var info = "&radius=1&radius_units=mi&per_page=100&format=json&nojsoncallback=1"
var cLat = "&lat="
var cLong = "&lon="
cLat = cLat.concat(lat.toString())
cLong = cLong.concat(long.toString())
var mainUrl = URL.concat(cLat).concat(cLong).concat(info)
$.ajax({
type: "GET",
url : mainUrl,
dataType: 'json',
success: function(data,textStatus,jqXHR) {
sap.ui.getCore().byId("container-GeoPics---main--Pics").removeAllTiles()
for (var i = 0; i < data.photos.photo.length; i++){
var style = document.createElement('style');
var picCSS = ".BGImage".concat(i)
var cssName = "BGImage".concat(i)
style.type = 'text/css';
var pic = data.photos.photo[i].id.concat("_").concat(data.photos.photo[i].secret)
var bs = "/"
var picUrl = "https://live.staticflickr.com/".concat(data.photos.photo[i].server).concat(bs).concat(pic).concat("_c_d.jpg")
var suf = "); background-repeat: no-repeat; background-position: center center}"
var pre = " { background-image: url(".concat(picUrl).concat(suf)
var inHtml = picCSS.concat(pre)
style.innerHTML = inHtml;
document.getElementsByTagName('head')[0].appendChild(style);
var tile = new sap.m.Tile()
tile.addStyleClass(cssName)
sap.ui.getCore().byId("container-GeoPics---main--Pics").addTile(tile)
}
},
error : function(jqXHR,textStatus,errorThrown) {
} })
}
});
});
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
5 | |
5 | |
5 | |
4 | |
4 | |
4 | |
4 | |
4 | |
3 | |
3 |