我想制作在地图旋转时不移动的标记,就像折线一样。我的目标是为标记提供一个单一的方向,即使在出现数据时也不会改变。
我尝试过每种标记类型但我无法获得想要的效果。
任何形式的帮助都会受到赞赏,因为我被困在这里很长时间
答案 0 :(得分:0)
您正在寻找MapMarker对象?它固定在您给出的位置,无论倾斜如何,它都将始终在屏幕2d空间中绘制,并旋转您应用于地图。
希望这有帮助。
答案 1 :(得分:0)
您可以绘制一个简单的矩形,正面和背面两侧都有纹理,如下所示:
// Two triangles
FloatBuffer buff = FloatBuffer.allocate(12);
buff.put(0- delta);
buff.put(0- delta);
buff.put(1.f);
buff.put(0 + delta);
buff.put(0 - delta);
buff.put(1.f);
buff.put(0 - delta);
buff.put(0 + delta);
buff.put(1.f);
buff.put(0 + delta);
buff.put(0 + delta);
buff.put(1.f);
// Two triangles to generate the rectangle. Both front and back face
IntBuffer vertIndicieBuffer = IntBuffer.allocate(12);
vertIndicieBuffer.put(0);
vertIndicieBuffer.put(2);
vertIndicieBuffer.put(1);
vertIndicieBuffer.put(2);
vertIndicieBuffer.put(3);
vertIndicieBuffer.put(1);
vertIndicieBuffer.put(0);
vertIndicieBuffer.put(1);
vertIndicieBuffer.put(2);
vertIndicieBuffer.put(1);
vertIndicieBuffer.put(3);
vertIndicieBuffer.put(2);
// Texture coordinates
FloatBuffer textCoordBuffer = FloatBuffer.allocate(8);
textCoordBuffer.put(0.f);
textCoordBuffer.put(0.f);
textCoordBuffer.put(1.f);
textCoordBuffer.put(0.f);
textCoordBuffer.put(0.f);
textCoordBuffer.put(1.f);
textCoordBuffer.put(1.f);
textCoordBuffer.put(1.f);
// The LocalMesh itself.
LocalMesh mesh = new LocalMesh();
mesh.setVertices(buff);
mesh.setVertexIndices(vertIndicieBuffer);
mesh.setTextureCoordinates(textCoordBuffer);
MapLocalModel model = new MapLocalModel();
model.setMesh(mesh);
model.setDynamicScalingEnabled(true);
model.setAnchor(new GeoCoordinate(LATITUDE, LONGITUDE, 0.0));
将图像附加到纹理上,并使用MapRenderLisener#onPredraw()更改本地模型对象的俯仰和偏航以跟随相机。