If I was in your situation, I'll do :
Object3D[] obj;
try {
obj = Loader.loadOBJ(res.getAssets().open("road.obj");
for(int i = 0; i < obj.length; i++){
world.addObject(obj[i]);
if(obj[i].getName().equalsIgnoreCase("waypoint_1")){
// memoryse informations of coordinate with obj[j].obj[j].getCenter(); in a arraylist or an array
}
}
saidao = Object3D.mergeAll(obj,null,0.8f));//
} catch (IOException e) {
Log.w("Loading", "Error while loading object : "+e.getMessage());
}
TextureManager.getInstance().addTexture("road", new Texture(res.openRawResource(R.raw.road)));
saidao.setTexture("road");
saidao.translate(0,10,0);
saidao.build();
I'm not sur if it work because I don't test it. But you can try it and correct it easly. And actually you just search "waypoint_1", but you need to implement a new "for" or a "while" to detect all waypoint you want.
PS : Use the tag [ code ][ /code ] (without spaces) to write code properly. It's more clean.