Start a new topic

No visible POI on screen and Radar

No visible POI on screen and Radar


Hi,

I would like to show multiple POIs in Architectview depends on location. 

I add my POIs to architectview, the radar is being update from compass as good as it needs but nothing appears on screen neither in radar!

Here is my code:

final StartupConfiguration config = new StartupConfiguration(getString(R.string.api_key_wikitude), StartupConfiguration.Features.Geo, StartupConfiguration.CameraPosition.BACK);
architectView.onCreate(config);


architectView.callJavascript("app.loadPoisFromJsonData(" + json + ")");

 and in Javascript:

Script.js

App.prototype = {
loadPoisFromJsonData: function (data) {
var
self = this;
console.log(data);
PoiRadar.init();

self.markers = ;
self.bonPlanData = data;

setTimeout(function(){
var markers = ;

for(var i=0; i< self.bonPlanData.length; i++) {
markers.push(new Marker(self.bonPlanData));
}

self.markers = markers;
},100);
}
}

// static property
App.markerDrawable_idle = new AR.ImageResource("assets/marker_idle.png");

// initialize app
var app = new App();

 

Radar.js

var PoiRadar = {
init: function() {
AR.radar.container = document.getElementById("radarContainer");

AR.radar.background = new AR.ImageResource("assets/radar.png");
AR.radar.northIndicator.image = new AR.ImageResource("assets/radar_north.png");

// center of north indicator and radar-points in the radar asset, usually center of radar is in the exact middle of the bakground, meaning 50% X and 50% Y axis --> 0.5 for centerX/centerY
AR.radar.centerX = 0.5;
AR.radar.centerY = 0.5;

AR.radar.radius = 0.3;
AR.radar.northIndicator.radius = 0.0;
AR.radar.maxDistance = 200;
PoiRadar.show();
},

hide: function() {
AR.radar.enabled = false;
},

show: function() {
AR.radar.enabled = true;
}
}

 

and Marker.js

function Marker(data) {
var self = this;

self.data = data;


var markerLocation = new AR.GeoLocation(data.latitude, data.longitude);
console.log("add a marker at " + data.latitude + ", " + data.longitude);

self.markerDrawable_idle = new AR.ImageDrawable(App.markerDrawable_idle, 2.5, {
zOrder: 0,
opacity: 1.0,
onClick: function() {
document.location = "architectsdk://bonplan?id=" + self.data.id;
}
});

self.radarCircle = new AR.Circle(0.1, {
horizontalAnchor: AR.CONST.HORIZONTAL_ANCHOR.CENTER,
opacity: 0.8,
style: {
fillColor: "#FFA628"
}
});

self.radardrawables = ;
self.radardrawables.push(self.radarCircle);

self.markerObject = new AR.GeoObject(markerLocation, {
drawables: {
cam: ,
radar: this.radardrawables
}
});

}

 

There is no console errors and I've my console debug line showed for each marker i need.

Am I missing something?

Someone has an idea?

Ensure to properly encode your JSON when using it as function param.

You may even debug your native code to get the "json" value and execute the command then via remote WebView debugging's console to see potential syntax error.

Best regards

Thanks, but It not work with sample data. It seems like architectview not receive GPS updates.

In fact Compas is updating and I've a geo simulator that mock a geo path to GPS sensor device. It works on a google map inside the app but the onLocationChanged of Wikitude context's throw nothing.

Is there a way to ensure communications between GPS and architectview?

 

Note that you have full control over the location you want to pass over to the architectView.
Just call architectView setLocation function using your custom location provider

Thanks for help,

I thought it could be a way to set a listener of the provider and the architectview can hold changes by itself.

Maybe in a next version 

 
Login or Signup to post a comment