Я создал проект Android Studio и импортировал образец Wikitude (Wikitude SDK 5.0) в папку с ресурсами. Я новичок в JavaScript и Wikitude, но я думаю, что могу получить GPS-координаты, но POI не появляется.Wikitude POI не появится на Android
Есть ли у вас какие-либо опыт работы с Wikitude на Android? Как я могу сделать POI? Официальная документация не поможет. !
Извините за длинный исходный код, но я застрял в течение 2-х дней, и теперь не могу понять любое хорошее решение :(Ваша помощь ценится
POILOCATION.js:
// implementation of AR-Experience (aka "World")
var World = {
// true once data was fetched
initiallyLoadedData: false,
// POI-Marker asset
markerDrawable_idle: null,
// called to inject new POI data
loadPoisFromJsonData: function loadPoisFromJsonDataFn(poiData) {
/*
The example Image Recognition already explained how images are loaded and displayed in the augmented reality view. This sample loads an AR.ImageResource when the World variable was defined. It will be reused for each marker that we will create afterwards.
*/
World.markerDrawable_idle = new AR.ImageResource("assets/marker_idle.png");
/*
For creating the marker a new object AR.GeoObject will be created at the specified geolocation. An AR.GeoObject connects one or more AR.GeoLocations with multiple AR.Drawables. The AR.Drawables can be defined for multiple targets. A target can be the camera, the radar or a direction indicator. Both the radar and direction indicators will be covered in more detail in later examples.
*/
var markerLocation = new AR.GeoLocation(poiData.latitude, poiData.longitude, poiData.altitude);
var markerImageDrawable_idle = new AR.ImageDrawable(World.markerDrawable_idle, 2.5, {
zOrder: 0,
opacity: 1.0
});
// create GeoObject
var markerObject = new AR.GeoObject(markerLocation, {
drawables: {
cam: [markerImageDrawable_idle]
}
});
// Updates status message as a user feedback that everything was loaded properly.
World.updateStatusMessage('1 place loaded');
},
updateStatusMessage: function updateStatusMessageFn(message, isWarning) {
var themeToUse = isWarning ? "e" : "c";
var iconToUse = isWarning ? "alert" : "info";
$("#status-message").html(message);
$("#popupInfoButton").buttonMarkup({
theme: themeToUse
});
$("#popupInfoButton").buttonMarkup({
icon: iconToUse
});
},
// location updates, fired every time you call architectView.setLocation() in native environment
locationChanged: function locationChangedFn(lat, lon, alt, acc) {
if (!World.initiallyLoadedData) {
// creates a poi object with a random location near the user's location
var poiData = {
"id": 1,
"longitude": (lon + (Math.random()/5 - 0.1)),
"latitude": (lat + (Math.random()/5 - 0.1)),
"altitude": 100.0
};
World.loadPoisFromJsonData(poiData);
World.initiallyLoadedData = true;
}
},
};
/* Set a custom function where location changes are forwarded to. There is also a possibility to set AR.context.onLocationChanged to null. In this case the function will not be called anymore and no further location updates will be received.
*/
//AR.context.onLocationChanged = World.locationChanged;
AR.context.onLocationChanged = locationChangedFn(lat, lon, alt, acc) {
console.log("asdsadasdsadasasdadaello World");
if (!World.initiallyLoadedData) {
// creates a poi object with a random location near the user's location
var poiData = {
"id": 1,
"longitude": (lon + (Math.random()/5 - 0.1)),
"latitude": (lat + (Math.random()/5 - 0.1)),
"altitude": 100.0
};
world.markerDrawable_idle = new AR.ImageResource("assets/marker_idle.png");
/*
For creating the marker a new object AR.GeoObject will be created at the specified geolocation. An AR.GeoObject connects one or more AR.GeoLocations with multiple AR.Drawables. The AR.Drawables can be defined for multiple targets. A target can be the camera, the radar or a direction indicator. Both the radar and direction indicators will be covered in more detail in later examples.
*/
var markerLocation = new AR.GeoLocation(poiData.latitude, poiData.longitude, poiData.altitude);
var markerImageDrawable_idle = new AR.ImageDrawable(World.markerDrawable_idle, 2.5, {
zOrder: 0,
opacity: 1.0
});
// create GeoObject
var markerObject = new AR.GeoObject(markerLocation, {
drawables: {
cam: [markerImageDrawable_idle]
}
});
// Updates status message as a user feedback that everything was loaded properly.
World.updateStatusMessage('1 place loaded');
World.initiallyLoadedData = true;
}};
Привет, У меня такая же проблема, приложение просто дает мне сообщение «пытается найти, где вы находитесь». Я просто запускаю пример приложения, называемый poiatlocation, без изменений. Могу ли я спросить, где вы добавили вышеуказанный фрагмент кода? –