我正在开发一个基于地图的应用程序,用户拥有通用的Google界面,但我想在事件上添加一个3d自定义元素。用户只需按下按钮就可以在地图上添加pokestop (例如,我的元素)。
我正在使用Google,但我不知道是否应该使用图形引擎。实际上,我不想使用统一或其他引擎,我想使应用程序尽可能轻。
这个应用程序应该在android上运行。你有什么建议吗?
发布于 2016-11-21 00:30:45
若要创建带有图像的标记,请使用以下内容。//使用自定义图标。
mSydney =mMap.addMarker(新的MarkerOptions()
.position(DELHI)
.title("Delhi")
.snippet("Population: 86,398,800")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.image)));用画布,
Bitmap.Config conf = Bitmap.Config.ARGB_8888;
位图bmp = Bitmap.createBitmap(80,80,conf);
画布canvas1 =新画布;
//画图定义文本颜色、笔画宽度和大小
油漆颜色=新油漆();
color.setTextSize(35);
color.setColor(Color.BLACK);
//修改画布
canvas1.drawBitmap(BitmapFactory.decodeResource(getResources(),
R.drawable.user_picture_image), 0,0, color);Canvas1.legtext(“用户名!”,30,40,颜色);
//向地图添加标记
MMap.addMarker(新MarkerOptions().position(USER_POSITION) )
.icon(BitmapDescriptorFactory.fromBitmap(bmp))
// Specifies the anchor to be at a particular point in the marker image.
.anchor(0.5f, 1));用它你可以画出更精美的东西。
在GoogleMap v2演示中,有一个MarkerDemoActivity类,您可以在该类中查看如何将自定义图像设置为GoogleMap。
//使用自定义图标。
mSydney =mMap.addMarker(新的MarkerOptions()
.position(SYDNEY)
.title("Sydney")
.snippet("Population: 4,627,300")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));由于这只是将标记替换为图像,因此您可能需要使用画布来绘制更复杂和更精美的内容:
Bitmap.Config conf = Bitmap.Config.ARGB_8888;
位图bmp = Bitmap.createBitmap(80,80,conf);
画布canvas1 =新画布;
//画图定义文本颜色、笔画宽度和大小
油漆颜色=新油漆();
color.setTextSize(35);
color.setColor(Color.BLACK);
//修改画布canvas1.drawBitmap(BitmapFactory.decodeResource(getResources(),
R.drawable.user_picture_image), 0,0, color);Canvas1.legtext(“用户名!”,30,40,颜色);
//向地图添加标记
MMap.addMarker(新MarkerOptions().position(USER_POSITION) )
.icon(BitmapDescriptorFactory.fromBitmap(bmp))
// Specifies the anchor to be at a particular point in the marker image.
.anchor(0.5f, 1));这将画布canvas1绘制到GoogleMap mMap上。代码应该(大部分)自己说,有许多教程,如何绘制画布。首先,您可以查看Android开发人员页面中的画布和Drawables。
现在,您还需要从URL下载图片。
URL = new (User_image_url);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
Conn.setDoInput(真);
conn.connect();
InputStream is = conn.getInputStream();
bmImg = BitmapFactory.decodeStream(is);
您必须从后台线程下载图像(可以使用AsyncTask或Volley )。
之后,您可以将BitmapFactory.decodeResource(getResources(),R.drawable.user_picture_image)替换为下载的图像bmImg。
https://stackoverflow.com/questions/40709510
复制相似问题