private void LocationsUpdated(object sender, CLLocationsUpdatedEventArgs e)
        {
            if (e.Locations.Length > 0)
            {
                JsonArray jsonArray = PoiGenerator.GeneratePoiInformation(e.Locations[0].Coordinate.Latitude, e.Locations[0].Coordinate.Longitude);
                architectView.CallJavaScript("World.loadPoisFromJsonData(" + jsonArray.ToString() + ")"); // Triggers the loadPoisFromJsonData function

                locationManager.StopUpdatingLocation();
                locationManager.LocationsUpdated -= LocationsUpdated;
            }
        }
        public override void OnLocationChanged(Location location)
        {
            base.OnLocationChanged(location);

            /*
             * When the first location was received the POIs are generated and sent to the JavaScript code,
             * by using architectView.callJavascript.
             */
            if (!injectedPois)
            {
                JsonArray jsonArray = PoiGenerator.GeneratePoiInformation(location.Latitude, location.Longitude);
                architectView.CallJavascript("World.loadPoisFromJsonData(" + jsonArray.ToString() + ")"); // Triggers the loadPoisFromJsonData function
                injectedPois = true;                                                                      // don't load pois again
            }
        }