首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用在基于地图的应用程序上添加元素?

如何使用在基于地图的应用程序上添加元素?
EN

Stack Overflow用户
提问于 2016-11-20 21:19:26
回答 1查看 152关注 0票数 1

我正在开发一个基于地图的应用程序,用户拥有通用的Google界面,但我想在事件上添加一个3d自定义元素。用户只需按下按钮就可以在地图上添加pokestop (例如,我的元素)。

我正在使用Google,但我不知道是否应该使用图形引擎。实际上,我不想使用统一或其他引擎,我想使应用程序尽可能轻。

这个应用程序应该在android上运行。你有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2016-11-21 00:30:45

若要创建带有图像的标记,请使用以下内容。//使用自定义图标。

mSydney =mMap.addMarker(新的MarkerOptions()

代码语言:javascript
复制
.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(),

代码语言:javascript
复制
R.drawable.user_picture_image), 0,0, color);

Canvas1.legtext(“用户名!”,30,40,颜色);

//向地图添加标记

MMap.addMarker(新MarkerOptions().position(USER_POSITION) )

代码语言:javascript
复制
.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()

代码语言:javascript
复制
.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(),

代码语言:javascript
复制
R.drawable.user_picture_image), 0,0, color);

Canvas1.legtext(“用户名!”,30,40,颜色);

//向地图添加标记

MMap.addMarker(新MarkerOptions().position(USER_POSITION) )

代码语言:javascript
复制
.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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40709510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档