- 浏览: 207993 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (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 3355Spark 连接 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 2733<layer-list xmlns:android=&q ... -
android ADT 17 can not find aapt when build with maven
2013-05-20 23:37 2281更新android adt 版本17之后,程序不能build了 ... -
在maven android 工程中使用高德地图
2013-04-11 21:35 4540由于程序中使用地图,最终选择了高德地图。但是高德地图中需要使用 ... -
android 代码proguard
2013-03-17 13:22 3215大家都知道,java 代码很容易被反编译,同样android ... -
Struts 标签实现时间下来选择
2012-09-13 11:58 1389<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 2206是不是考虑用这个? <a href="#&qu ... -
android 程序 发布加密
2011-12-01 13:37 3276大家都知道,现在java程序很容易就让别人反编译,andori ... -
<转>android 圆角效果
2011-11-30 13:31 1673最近做一个效果,要一个上边两个角为圆角,下面两个角为直角的四边 ... -
Java 文本文件和二进制文件的读取(转)
2010-07-20 11:58 12825一,文本文件的读取 1,FileInputStream:按字 ... -
java(Web)中相对路径,绝对路径问题总结
2010-04-08 18:35 11131.基本概念的理解 绝对路径:绝对路径就是你的主页上的文 ... -
java关闭系统程序
2010-01-27 13:33 1963import java.io.IOException; ...
相关推荐
DCM与PFC融合的CRM混合模式创新实践,DCM CRM混合模式PFC ,DCM; CRM混合模式; PFC,DCM与PFC的混合模式在CRM系统中的应用
基于Dijkstra算法的路径规划Matlab代码:读取黑白色地图并实现图像上的路径规划示例,读取黑白色地图,在图片上进行路径规划matlab代码 路径规划算法基于读图识别的Dijkstra算法 随意设置坐标,规划路径 示例如下 ,读取地图; 路径规划算法; Dijkstra算法; 坐标设置; 规划路径,基于Dijkstra算法的Matlab黑白色地图路径规划代码
matlab实现LSTM时序预测完整程序+数据
968a658a40c897eb4452d8718cf0f8e6.part6
Matlab Simulink下的LLC开关电源仿真技术探究与实践,Matlab Simulink仿真,LLC开关电源仿真 ,核心关键词:Matlab Simulink仿真; LLC开关电源仿真; 电源仿真,Matlab Simulink下的LLC开关电源仿真研究
matlab实现RF时序预测完整程序+数据
FLAC3D水力切顶角度研究:水力压裂代码的实践与参考指南,FLAC3d不同水力切顶角度,水力压裂代码,可以做参考 ,FLAC3d; 水力切顶角度; 水力压裂代码; 参考;,FLAC3d水力压裂角度控制与代码解析
基于分层滤波技术的冲击噪声检测与去除算法.pdf
"COMSOL模拟技术:等离子体与热流耦合的深度探索",comsol等离子体,热流耦合 ,comsol等离子体; 热流耦合; 仿真模拟; 物理建模,"COMSOL等离子体热流耦合模拟"
基于SSA与DBN的多输入单输出预测模型:麻雀优化算法在Matlab环境下的实现与效果评估,麻雀优化算法SSA结合DBN做多输入单输出预测模型,要求数据是excel替数据就可以用。 程序语言是matlab,需求最低版本为2020及以上。 程序可以出真实值和预测值对比图,线性拟合图,可打印多种评价指标。 PS:以下效果图为测试数据的效果图,主要目的是为了显示程序运行可以出的结果图,具体预测效果以个人的具体数据为准。 2.由于每个人的数据都是独一无二的,因此无法做到可以任何人的数据直接替就可以得到自己满意的效果。 3.程序后无原理讲解。 ,核心关键词:麻雀优化算法SSA; DBN多输入单输出预测模型; Matlab; 2020版及以上; 真实值和预测值对比图; 线性拟合图; 评价指标; 数据替换; 独一无二的数据; 无原理讲解。,基于SSA-DBN的Excel数据多输入单输出预测模型(Matlab 2020+版)
LDPC编译码技术:信道编译码实现、规格与算法可定制的探索,LDPC编译码实现 信道编译码 LDPC码编译码极其识别 编码规格DVBS2 IEEE802.11n IEEE802.16e 译码算法 置信传播 和积算法 最小和 可定制 ,LDPC编译码实现; 信道编译码; LDPC码识别; 编码规格(DVBS2; IEEE802.11n; IEEE802.16e); 译码算法(置信传播; 和积算法; 最小和); 可定制。,LDPC编译码技术:实现、规格与算法详解
基于三菱PLC的3×4立体仓库组态监控系统设计与实现,6#基于三菱PLC组态王3×4立体仓库组态监控系统 ,基于三菱PLC; 组态王; 立体仓库; 3×4组态监控系统; 立体仓库组态监控,基于三菱PLC的立体仓库组态监控系统
冻融循环数值仿真:基于Comsol的真水热力三场耦合分析降雨边坡稳定性周期性变化及热膨胀效应的达西定律应用,冻融循 环数值仿真 comsol 真水热力三场耦合 采用达西定律与热膨胀接口,可分析降雨边坡在冻融到解冻过程的稳定性周期性变化 ,冻融循环;数值仿真;Comsol;真水热力三场耦合;达西定律;热膨胀接口;降雨边坡稳定性;周期性变化,"冻融循环仿真研究:真水热力三场耦合与周期性稳定性分析"
声发射定位图:MATLAB制作的长方体三维立体展示技术,2D与3D个性化呈现解析,声发射定位图(长方体),MATLAB制作,2D 3D个性化展示。 ,声发射定位图; 长方体模型; MATLAB制作; 2D 3D展示; 个性化展示,MATLAB制作声发射定位图:2D/3D个性化展示长方体图
高斯光束生成与传输模拟的Matlab计算方法研究,高斯光束生成传输matlab计算 ,高斯光束; 生成; 传输; MATLAB计算;,高斯光束生成与传输的Matlab计算
,500kW储能变流器(PCS) 采用T型三电平模块,结构三维、控制电路、驱动电路,全部的BOM,型式试验报告等全部资料。 没有程序源码,本交付的资料与本描述一致,未提及的可能没有。
基于多范数约束的分布式鲁棒优化模型:Matlab编程实现与优化策略探究,基于综合范数的两阶段分布鲁棒优化模型 采用matlab编程的基于场景概率驱动的两阶段分布鲁棒优化模型采用列和约束生成算法(C&CG)进行求解,采用 1-范数和∞-范数对分布鲁棒优化的模糊集进行构建,采用拉丁超立方抽样+kmeans进行场景生成及削减,程序运行可靠,思路清晰,有详细参考资料,可在此基础上进行拓展优化。 ,关键词:综合范数;两阶段分布鲁棒优化模型;Matlab编程;场景概率驱动;列和约束生成算法(C&CG);1-范数;∞-范数;拉丁超立方抽样;kmeans;程序运行可靠;思路清晰。,综合范数下的两阶段分布鲁棒优化模型与优化求解研究
基于Xilinx XC7A35T开发平台的高精度时间数字转换(TDC)系统:基于Carry4进位链的71.4ps分辨率TOF测距代码实现,xilinx xc7a35t 开发平台,基于Carry4进位链高精度时间数字转(TDC)代码,分辨率71.4ps#tof测距 ,核心关键词:xilinx xc7a35t;开发平台;Carry4进位链;高精度时间数字转换(TDC);分辨率71.4ps;#tof测距。,基于Xilinx XC7A35T平台的TDC高精度测距代码
基于ATP仿真建模的雷击过电压研究:直流500kV至1100kV输电线路的过电压特性分析,直流500kV,660kV,800kV,1100kV输电线路雷击过电压ATP仿真建模。 ,直流500kV; 660kV; 雷击过电压; ATP仿真建模; 输电线路; 800kV; 1100kV。,雷击过电压ATP仿真建模:超高压输电线路研究
今年春节狠狠充了一把,后悔充了这么多,一气之下买了个退款教程吓一吓王者,真退款了又不愿意,现在分享给大家