- 浏览: 207977 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (54)
- java (17)
- hibernate (3)
- javascript (6)
- Ajax (1)
- 插件 (2)
- 数据库 (3)
- html+css+div (5)
- 其他程序 (3)
- 应用技术 (18)
- office (0)
- 小工具 (1)
- 加密解密 (3)
- mac (3)
- 翻译 (1)
- iphone objectc (5)
- iphone (4)
- android (12)
- 圆角 (1)
- layout (2)
- 加密 (1)
- proguard (2)
- Mac 应用技术 系统 工具 (2)
- Mac 应用技术 系统 工具,xcode4 (1)
- 安卓 (6)
- maven (3)
- 高德 (1)
- 地图 (1)
- lrzsz (1)
- rz (1)
- sz (1)
- 脚本 (1)
- linux (1)
- Android Gradle (1)
- Spark (1)
- mongodb (1)
最新评论
-
Jumper_Wu:
想请教个问题:so文件从maven库中拉到AndroidStu ...
在maven android 工程中使用高德地图 -
cuiqi4016:
可不可以把把html模版作为一个单独的文件引入进来,handl ...
Handlebars 的使用 -
lywangbadan:
Handlebars 的使用 -
lituo20:
不错的,以前接触过一点,看了一下,恍然大悟,好像一下子懂了
Handlebars 的使用 -
zhangyaochun:
其实就是模板化,这是以前就开始推崇的面向数据编程的一个方式。比 ...
Handlebars 的使用
This example show you how to draw movable marker on to map. You can darg and drop the marker to change its position. Can be used in any application where u want to take input from user for map location.
Algorithm:
1.) Create a new project by File-> New -> Android Project name it MapMarkerExample.
2.) You will see some default code into your main.xml and android manifest file.
3.) Add internet permission to your manifest file or write following in android.manifest file:
4.) Write following into main.xml file:
5.) CreateYour own map API key and replace it in above main.xml.
6.) Add any marker image or push pin image in drawable folder.
7.) Run for output.
Steps:
1.) Create a project named MapMarkerExample and set the information as stated in the image.
Build Target: Android 2.1 (Google API)
Application Name: MapMarkerExample
Package Name: com.example.mapmarker
Activity Name: MapMarkerActivity
Min SDK Version: 7
2.) Open MapMarkerActivity.java file and write following code there:
3.) Compile and build the project.
4.) Move the marker shown on the map with the help of mouse for results shown below.
Output
Algorithm:
1.) Create a new project by File-> New -> Android Project name it MapMarkerExample.
2.) You will see some default code into your main.xml and android manifest file.
3.) Add internet permission to your manifest file or write following in android.manifest file:
<?xml version="1.0" encoding="utf-8"?> <manifest package="com.example.mapmarker" xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <uses-library android:name="com.google.android.maps" /> <activity android:label="@string/app_name" android:name=".MapMarkerActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
4.) Write following into main.xml file:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <com.google.android.maps.MapView android:id="@+id/map" android:layout_width="wrap_content" android:layout_height="wrap_content" android:apiKey="0jp8vWjNayJISFKdvcJwGmwsjgoCoQrT_dflCfQ" android:clickable="true" /> <ImageView android:id="@+id/drag" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/marker" android:visibility="gone" /> </RelativeLayout>
5.) CreateYour own map API key and replace it in above main.xml.
6.) Add any marker image or push pin image in drawable folder.
7.) Run for output.
Steps:
1.) Create a project named MapMarkerExample and set the information as stated in the image.
Build Target: Android 2.1 (Google API)
Application Name: MapMarkerExample
Package Name: com.example.mapmarker
Activity Name: MapMarkerActivity
Min SDK Version: 7
2.) Open MapMarkerActivity.java file and write following code there:
package com.example.mapmarker; import java.util.ArrayList; import java.util.List; import android.graphics.Canvas; import android.graphics.Point; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.Toast; import com.google.android.maps.GeoPoint; import com.google.android.maps.ItemizedOverlay; import com.google.android.maps.MapActivity; import com.google.android.maps.MapView; import com.google.android.maps.MyLocationOverlay; import com.google.android.maps.OverlayItem; public class MapMarkerActivity extends MapActivity { private MapView map=null; private MyLocationOverlay me=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); map=(MapView)findViewById(R.id.map); map.getController().setCenter(getPoint(21.0000169992044, 78.0000484771729)); map.setBuiltInZoomControls(true); Drawable marker=getResources().getDrawable(R.drawable.marker); marker.setBounds(0, 0, marker.getIntrinsicWidth(),marker.getIntrinsicHeight()); map.getOverlays().add(new SitesOverlay(marker)); me=new MyLocationOverlay(this, map); map.getOverlays().add(me); } @Override public void onResume() { super.onResume(); me.enableCompass(); } @Override public void onPause() { super.onPause(); me.disableCompass(); } @Override protected boolean isRouteDisplayed() { return(false); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_S) { map.setSatellite(!map.isSatellite()); return(true); } else if (keyCode == KeyEvent.KEYCODE_Z) { map.displayZoomControls(true); return(true); } return(super.onKeyDown(keyCode, event)); } private GeoPoint getPoint(double lat, double lon) { return(new GeoPoint((int)(lat*1000000.0), (int)(lon*1000000.0))); } private class SitesOverlay extends ItemizedOverlay<OverlayItem> { private List<OverlayItem> items=new ArrayList<OverlayItem>(); private Drawable marker=null; private OverlayItem inDrag=null; private ImageView dragImage=null; private int xDragImageOffset=0; private int yDragImageOffset=0; private int xDragTouchOffset=0; private int yDragTouchOffset=0; public SitesOverlay(Drawable marker) { super(marker); this.marker=marker; dragImage=(ImageView)findViewById(R.id.drag); xDragImageOffset=dragImage.getDrawable().getIntrinsicWidth()/2; yDragImageOffset=dragImage.getDrawable().getIntrinsicHeight(); items.add(new OverlayItem(getPoint(21.169992044, 78.484771729), "Mumbai", "Maharashtra, India")); populate(); } @Override protected OverlayItem createItem(int i) { return(items.get(i)); } @Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { super.draw(canvas, mapView, shadow); boundCenterBottom(marker); } @Override public int size() { return(items.size()); } @Override public boolean onTouchEvent(MotionEvent event, MapView mapView) { final int action=event.getAction(); final int x=(int)event.getX(); final int y=(int)event.getY(); boolean result=false; if (action==MotionEvent.ACTION_DOWN) { for (OverlayItem item : items) { Point p=new Point(0,0); map.getProjection().toPixels(item.getPoint(), p); if (hitTest(item, marker, x-p.x, y-p.y)) { result=true; inDrag=item; items.remove(inDrag); populate(); xDragTouchOffset=0; yDragTouchOffset=0; setDragImagePosition(p.x, p.y); dragImage.setVisibility(View.VISIBLE); xDragTouchOffset=x-p.x; yDragTouchOffset=y-p.y; break; } } } else if (action==MotionEvent.ACTION_MOVE && inDrag!=null) { setDragImagePosition(x, y); result=true; } else if (action==MotionEvent.ACTION_UP && inDrag!=null) { dragImage.setVisibility(View.GONE); GeoPoint pt=map.getProjection().fromPixels(x-xDragTouchOffset, y-yDragTouchOffset); OverlayItem toDrop=new OverlayItem(pt, inDrag.getTitle(), inDrag.getSnippet()); Toast.makeText(MapMarkerActivity.this, pt.getLatitudeE6()+" "+pt.getLongitudeE6(), Toast.LENGTH_SHORT).show(); items.add(toDrop); populate(); inDrag=null; result=true; } return(result || super.onTouchEvent(event, mapView)); } private void setDragImagePosition(int x, int y) { RelativeLayout.LayoutParams lp= (RelativeLayout.LayoutParams)dragImage.getLayoutParams(); lp.setMargins(x-xDragImageOffset-xDragTouchOffset, y-yDragImageOffset-yDragTouchOffset, 0, 0); dragImage.setLayoutParams(lp); } } }
3.) Compile and build the project.
4.) Move the marker shown on the map with the help of mouse for results shown below.
Output
发表评论
-
Spark 连接 MongoDB
2018-03-07 09:55 3354Spark 连接 Mongodb 官方地址:https://w ... -
解决android4.0系统中菜单(Menu)添加Icon无效问题
2016-02-16 16:23 1004android actionbar menu 显示icon默认 ... -
ListView 中嵌套GridView listview item 不能点击问题
2015-03-12 23:28 2123在ListView的item中有GridView,抢占焦点的情 ... -
android 手机传感器
2014-02-18 14:31 1500List<Sensor> sensors = th ... -
android regex utils
2013-12-31 22:43 0public class RegexUtils { pub ... -
Proguard on MacOSX
2013-10-26 23:33 1233[proguard] Error: Can't read [/ ... -
仿iphone actionsheet
2013-09-11 18:03 2510public class ActionSheet implem ... -
android 自定义progressbar style
2013-09-05 11:22 2732<layer-list xmlns:android=&q ... -
android ADT 17 can not find aapt when build with maven
2013-05-20 23:37 2280更新android adt 版本17之后,程序不能build了 ... -
在maven android 工程中使用高德地图
2013-04-11 21:35 4540由于程序中使用地图,最终选择了高德地图。但是高德地图中需要使用 ... -
android 代码proguard
2013-03-17 13:22 3214大家都知道,java 代码很容易被反编译,同样android ... -
Struts 标签实现时间下来选择
2012-09-13 11:58 1387<select id="min" ... -
Web browser hacks, Css hacks - ie, firefox, chrome, safri, Opera
2013-04-11 21:35 1151CSS hacks take advantage of bro ... -
Handlebars 的使用
2012-03-31 01:12 33718web 开发中,js 解析JSON 是经常的事情。非常繁琐。h ... -
使用CSS实现间隔线|(竖线)
2012-04-13 16:40 2205是不是考虑用这个? <a href="#&qu ... -
android 程序 发布加密
2011-12-01 13:37 3275大家都知道,现在java程序很容易就让别人反编译,andori ... -
<转>android 圆角效果
2011-11-30 13:31 1672最近做一个效果,要一个上边两个角为圆角,下面两个角为直角的四边 ... -
Java 文本文件和二进制文件的读取(转)
2010-07-20 11:58 12825一,文本文件的读取 1,FileInputStream:按字 ... -
java(Web)中相对路径,绝对路径问题总结
2010-04-08 18:35 11121.基本概念的理解 绝对路径:绝对路径就是你的主页上的文 ... -
java关闭系统程序
2010-01-27 13:33 1962import java.io.IOException; ...
相关推荐
人才招聘网站 免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1jKDjYrEz1 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
EI复现:碳减排背景下综合能源服务商合作策略的纳什谈判理论与自适应交替方向乘子法求解,EI复现: 《考虑碳减排的综合能源服务商合作运行优化策略》 纯手工复现,主要通过纳什谈判理论进行博弈,并采用自适应交替方向乘子法进行分布式求解 ,核心关键词:EI复现; 碳减排; 综合能源服务商; 合作运行优化策略; 纳什谈判理论; 博弈; 自适应交替方向乘子法; 分布式求解,EI复现:纳什谈判理论下的碳减排能源服务商合作运行优化策略
一种高精度太阳能跟踪控制系统设计与实现.pdf
基于AHP-CRITIC组合变权与指标劣化度修正的赋权方法研究,38考虑劣化度APH-CRITIC组合变权 组合变权赋权方法,基于AHP和改进CRITIC计算主客观权重,引入指标劣化度构造变权函数对综合权重进行修正,还方法可以捕捉指标时序的劣化程度,实现数据的有效跟踪,评价更加合理。 可根据需求进行改进。 ,关键词:组合变权赋权方法;AHP;CRITIC;指标劣化度;变权函数;时序劣化程度;数据跟踪;评价合理。,基于AHP-CRITIC组合变权法:综合主客观权重与指标劣化度评价
"深入解析:车桥耦合程序,全注释代码与ANSYS及MATLAB联合应用,集车辆、桥梁模型与路面不平整度于一身的仿真系统",车桥耦合程序,每行代码都有注释 ansys 和matlab联合使用 车辆模型,桥梁模型和路面不平整度已写入程序 提供参考文章 桥梁模型可根据自己的模型修改。 ,车桥耦合程序;ANSYS;Matlab联合使用;车辆模型;桥梁模型;路面不平整度;模型修改,"ANSYS-Matlab车桥耦合程序,详解与优化"
基于MATLAB的SVM算法与颜色纹理分析的交通信号灯识别系统,MATLAB代码:SVM+颜色+纹理的交通信号灯识别。 ,SVM; 颜色识别; 纹理识别; 交通信号灯识别,MATLAB SVM算法:交通信号灯颜色与纹理识别
基于S7-200 PLC与组态王技术的切片机控制系统设计优化与实践应用,No.791 基于S7-200 PLC和组态王组态切片机控制系统设计 ,基于S7-200 PLC; 组态王组态; 切片机控制系统设计; 791号项目,基于PLC与组态王设计的切片机控制系统设计No.791
《pfc2D颗粒流软件及其在裂纹声发射监测中的应用研究》,pfc2D颗粒流软件,裂纹声发射监测 ,pfc2D; 颗粒流软件; 裂纹; 声发射监测; 监测技术,"PFC2D颗粒流软件在裂纹声发射监测中的应用"
"10kW双级式光伏并网逆变器Matlab仿真研究:前级Boost升压与后级DC-AC逆变控制策略的稳定性与波形分析",10kW双级式光伏并网逆变器matlab仿真 【1】前级boost升压+后级DC AC逆变; 【2】前级使用mppt最大功率追踪,输出最大功率电压; 【3】后级使用dq轴双闭环控制:外环直流电压环+内环电感电流环; 【4】10kHz开关频率,使用离散仿真,更模拟实际工况; 【5】在光伏波动的情况下依然可以稳定运行,具体波形如图所示。 【6】送一份5页的简单说明文档。 ,核心关键词: 1. 10kW双级式光伏并网逆变器 2. 前级boost升压+后级DC AC逆变 3. MPPT最大功率追踪 4. DQ轴双闭环控制 5. 10kHz开关频率 6. 离散仿真 7. 光伏波动 8. 稳定运行 9. 波形 10. 说明文档,Matlab仿真研究:10kW双级式光伏并网逆变器及其控制策略
基于西门子1200博图v15.1版本的单部四层自动化系统:全功能集成的真实运行仿真体验,单部四层,基于西门子1200博图v15.1版本 可直接仿真运行,视频就是真实运行画面,功能集全 ,核心关键词:单部四层; 西门子1200博图v15.1版本; 可仿真运行; 功能集全 分号分隔的结果为:单部四层; 西门子1200博图v15.1版本; 可直接仿真运行; 功能集全;,"西门子1200博图V15.1四层仿真系统,功能全面真实运行"
基于GPU的海战场环境研究.pdf
FPGA驱动双目视觉系统:立体匹配、视差图与深度图生成技术的研究与应用,FPGA双目视觉 立体视觉 视差图 深度图 双目立体匹配sgm sgbm tang 20k 高云fpga usb摄像头采集图像 ,FPGA双目视觉;立体视觉;视差图;深度图;双目立体匹配sgm;sgbm;高云FPGA;USB摄像头图像采集。,基于FPGA的双目视觉系统:立体匹配与深度图生成
MIM结构超表面全息技术:高效率、几何相位与FDTD仿真的综合案例研究,MIM结构 高效率超表面全息 几何相位 fdtd仿真 复现:2015年Nature nanotechnology : Metasurface holograms reaching 80% efficiency 介绍:MIM金Au-MgF2-金Au结构 纳米天线 激发磁偶极子模式,具有超高效率,纳米柱由几何相位设计,实现高效相位调制模式; 案例内容:主要包括金Au纳米天线单元结构仿真、几何相位计算,转效率计算,画图脚本,Gs算法设计全息相位,超表面全息仿真模型及脚本计算等 案例包括fdtd模型、fdtd设计脚本、GS算法的Matlab计算代码和结果,以及一份word教程,MIM结构仿真结果与文献完全一致,可以用于其他功能超表面的设计; ,MIM结构; 高效率超表面全息; 几何相位; fdtd仿真; metasurface holograms; 金Au纳米天线; 磁偶极子模式; 纳米柱; 超表面设计。,MIM结构超表面全息:高效率、几何相位与FDTD仿真案例研究
自习室座位预约系统 免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1jKDjYrEz1 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
基于太赫兹硅脊波导阵列的拓扑零模 式研究.pdf
Matlab在非线性微分方程数值模拟中的多维应用:涵盖平衡点曲线、势能曲线、相图与势阱图、时程曲线分析、庞加莱截面及分岔图与功率谱密度曲线的综合研究,Matlab求解非线性微分方程进行数值模拟,包括 1.平衡点曲线(可以三维图);2.势能曲线(可以三维图);3.相图和势阱图(三维);4.时程曲线分析;5.相图分析;6.庞加莱截面;7.分岔图;8.功率谱密度曲线等。 ,关键词:Matlab;非线性微分方程;数值模拟;平衡点曲线(三维图);势能曲线(三维图);相图和势阱图(三维);时程曲线分析;庞加莱截面;分岔图;功率谱密度曲线。,Matlab微分方程多维度模拟研究
基于Matlab GUI界面的动态手势识别系统:支持向量机SVM的机器学习应用与拓展,- 标题: 基于Matlab的动态手势识别 - 关键词:matlab GUI界面 动态手势识别 SVM 支持向量机 机器学习 手势数据集 - 步骤: - 动态检测:打开相机 载入数据库 获取当前帧 截取需要区域 识别手势 显示在GUI上 - 简述:支持检测图片,支持实时打开相机检测,机器学习算法识别率高,可识别1到10个手势,如需其他手势可自行训练拓展。 ,matlab GUI界面; 动态手势识别; SVM; 机器学习; 手势数据集; 动态检测; 实时相机检测; 识别率高,基于Matlab GUI的动态手势识别系统:SVM支持向量机算法高效识别
基于机器 学习的高层 建筑风荷载功率谱 预测算法研究.pdf
matlab实现ELM分类完整程序+数据
"变焦技术下的光学系统设计与应用:变焦物镜、变焦投影物镜及变焦扩束镜的集成研究",变焦光学系统、变焦物镜、变焦投影物镜、变焦扩束镜 ,核心关键词:变焦光学系统; 变焦物镜; 变焦投影物镜; 变焦扩束镜;,光学系统:变焦物镜与扩束镜应用