1.å¦ä½å©ç¨Androidç¼ç¨å®ç°GPSå®ä½
2.uni-app实现定位功能
3.å¦ä½å¶ä½ç¾åº¦ç½ç«å°å¾å¦ä½å¶ä½ç¾åº¦ç½ç«å°å¾å¯¼èª
4.如何制作api地图如何制作api地图模板
å¦ä½å©ç¨Androidç¼ç¨å®ç°GPSå®ä½
æ¨å¥½ï¼å¾é«å ´ä¸ºæ¨è§£çãä¸ãåå¤å·¥ä½
éè¦å¦ä¸ä¸ç§è½¯ä»¶ï¼
1. Eclipse
2. Android SDK
3. å¼åAndroidç¨åºçEclipse æ件
为äºå¼å§æ们çå·¥ä½ï¼é¦å è¦å®è£ Eclipseï¼ç¶åä»Googleçç½ç«è·å¾Android SDKï¼å¹¶ä¸å®è£ Eclipseæ件ã
äºãActivityç±»
æ¯ä¸ç§ç§»å¨å¼åç¯å¢é½æèªå·±çåºç±»ãå¦J2MEåºç¨ç¨åºçåºç±»æ¯midletsï¼BREWçåºç±»æ¯appletsï¼èAndroidç¨åºçåºç±»æ¯ Activityãè¿ä¸ªactivity为æ们æä¾äºå¯¹ç§»å¨æä½ç³»ç»çåºæ¬åè½åäºä»¶ç访é®ãè¿ä¸ªç±»å å«äºåºæ¬çæé æ¹æ³ï¼é®çå¤çï¼æèµ·æ¥æ¢å¤åè½ï¼ä»¥ åå ¶ä»åºå±çææ设å¤ç访é®ãå®è´¨ä¸ï¼æ们çåºç¨ç¨åºå°æ¯ä¸ä¸ªActivityç±»çæ©å±ãå¨æ¬æä¸è¯»è å°ä¼éè¿ä¾åå¦ä¹ å°å¦ä½ä½¿ç¨Activityç±»æ¥ç¼ åAndroidç¨åºãä¸é¢æ¯ä¸ä¸ªç®åç继æ¿Activityçä¾åã
public class LocateMe extends Activity{public void onCreate(Bundle params){
super.onCreate(params);
setContentView(R.layout.main);
}
public boolean onKeyDown(int keyCode,地图定位地图定位代码大全 KeyEvent event){
return true;
}
}
ä¸ Viewç±»
Viewç±»æ¯Androidçä¸ä¸ªè¶ ç±»ï¼è¿ä¸ªç±»å ä¹å å«äºææçå±å¹ç±»åãä½å®ä»¬ä¹é´æä¸äºä¸åãæ¯ä¸ä¸ªviewé½æä¸ä¸ªç¨äºç»ç»çç»å¸ãè¿ä¸ªç»å¸å¯ä»¥ç¨ æ¥è¿è¡ä»»ææ©å±ãæ¬æ为äºæ¹ä¾¿èµ·è§ï¼åªæ¶åå°äºä¸¤ä¸ªä¸»è¦çViewç±»åï¼å®ä¹ViewåAndroidçXMLå 容Viewãå¨ä¸é¢ç代ç ä¸ï¼ä½¿ç¨çæ¯ âHello Worldâ XML Viewï¼å®æ¯ä»¥é常èªç¶çæ¹å¼å¼å§çã
å¦ææ们æ¥çä¸ä¸æ°çAndroidå·¥ç¨ï¼å°±ä¼åç°ä¸ä¸ªå«main.xmlçæ件ãå¨è¿ä¸ªæ件ä¸ï¼éè¿ä¸ä¸ªç®åçXMLæ件ï¼æè¿°äºä¸ä¸ªå±å¹çå¸å±ãè¿ä¸ª ç®åçxmlæ件çå 容å¦ä¸ï¼
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="/apk/res/android"
androidrientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHoriz
android:text="ress the center key to locate yourself"
/>
</RelativeLayout>
ä¸é¢çå 容çåè½çèµ·æ¥é常ææ¾ãè¿ä¸ªç¹æ®æ件å®ä¹äºä¸ä¸ªç¸å ³çå¸å±ï¼è¿å°±æå³çéè¿ä¸ä¸ªå ç´ å°å¦ä¸ä¸ªå ç´ çå ³ç³»ææ¯å®ä»¬ç¶å ç´ çå ³ç³»æ¥æè¿°ã对äºè§å¾æ¥ 说ï¼æä¸äºç¨äºå¸å±çæ¹æ³ï¼ä½æ¯å¨æ¬æä¸åªå ³æ³¨äºä¸è¿°çxmlæ件ã
RealtiveLayoutä¸å å«äºä¸ä¸ªå¡«å æ´ä¸ªå±å¹çææ¬æ¡ï¼ä¹å°±æ¯æ们çLocateMe activityï¼ãè¿ä¸ªLocateMe activityå¨é»è®¤æ åµä¸æ¯å ¨å±çï¼å æ¤ï¼ææ¬æ¡å°ç»§æ¿è¿ä¸ªå±æ§ï¼å¹¶ä¸ææ¬æ¡å°å¨å±å¹çå·¦ä¸è§æ¾ç¤ºãå¦å¤ï¼å¿ 须为è¿ä¸ªXMLæ件设置ä¸ä¸ªå¼ç¨æ°ï¼ä»¥ä¾¿ Androidå¯ä»¥å¨æºä»£ç ä¸æ¾å°å®ãå¨é»è®¤æ åµä¸ï¼è¿äºå¼ç¨æ°è¢«ä¿åå¨R.javaä¸ï¼ä»£ç å¦ä¸ï¼
public final class R{public static final class layout{
public static final int main=0x7f;
}
}
è§å¾ä¹å¯ä»¥è¢«åµå¥ï¼ä½åJ2MEä¸åï¼æ们å¯ä»¥å°å®å¶çè§å¾åAndroidå¢éåå¸çWidgetsä¸èµ·ä½¿ç¨ãå¨J2MEä¸ï¼å¼å人å被迫éæ© GameCanvasåJ2MEåºç¨ç¨åºç»å¸ãè¿å°±æå³çå¦ææ们æ³è¦ä¸ä¸ªå®å¶çææï¼å°±å¿ é¡»å¨GameCanvasä¸éæ°è®¾è®¡æ们ææçwidgetã Androidè¿ä¸ä» ä» æ¯è¿äºï¼è§å¾ç±»åä¹å¯ä»¥æ··å使ç¨ãAndroidè¿å¸¦äºä¸ä¸ª widgetåºï¼è¿ä¸ªç±»åºå æ¬äºæ»å¨æ¡ï¼ææ¬å®ä½ï¼è¿åº¦æ¡ä»¥åå ¶ä»å¾å¤æ§ä»¶ãè¿äºæ åçwidgetå¯ä»¥è¢«éè½½æ被æçæ们çä¹ æ¯å®å¶ãç°å¨è®©æ们æ¥è¿å ¥ æ们çä¾åã
åãAndroidå®ä¾
è¿ä¸ªæ¼ç¤ºåºç¨ç¨åºå°æ¼ç¤ºäºç¨æ·çå½åçç»åº¦å纬度ï¼å¨ææ¬æ¡ä¸æ¾ç¤ºï¼ãonCreateæé æ¹æ³å°åä¸é¢çä¾ååºæ¬ç¸åï¼é¤äºå¨å ¶ä¸å å ¥äºé®çå¤çï¼ç°å¨ 让æ们çä¸ä¸onKeyDownç代ç ã
public boolean onKeyDown(int keyCode, KeyEvent event){if(keyCode != KeyEvent.KEYCODE_DPAD_CENTER || m_bLoading)
{
return true;
}
m_bLoading = true;
getLocation();
return true;
}
ä¸é¢è®©æ们æ¥è§£éä¸ä¸è¿æ®µä»£ç ï¼é¦å ï¼è¿æ®µä»£ç æ£æ¥äºå½å被æä¸çé®ï¼ä½è¿æ²¡æå¼å§å¤çãèæ¯å¨getLocationæ¹æ³ä¸å¤çè¿ä¸åçãç¶åï¼å°è£ è½½ flagæ å¿ä»¥åè°ç¨getLocationæ¹æ³ï¼ä¸é¢æ¯getLocationæ¹æ³ç代ç ã
private void getLocation(){Location loc;
LocationManager locMan;
LocationProvider locPro;
List<LocationProvider> proList;
setContentView(R.layout.laoding);
locMan = (LocationManager) getSystemService(LOCATION_SERVICE);
proList = locMan.getProviders();
locPro = proList.get(0);
loc = locMan.getCurrentLocation(locPro.getName());
Lat = (float)loc.getLatitude();
Lon = (float)loc.getLongitude();
CreateView();
setContentView(customView);
}
å°è¿ä¸ºæ¢ï¼ç¨åºå¼å§åå¾æ´æ趣äºãä½æ¯ä¸å¹¸çæ¯ï¼Googleå ³äºä¹æ¹é¢çææ¡£è¿æ¯æ¯è¾å°äºãå¨ç¨åºçåé声æä¹åï¼æ们éè¦æ¼ç¤ºä¸äºè£ 载信æ¯ã R.layout.loading符åäºå¦ä¸ä¸ªç®åçXMLå¸å±è§å¾ãéè¿ç®åå°è°ç¨setContentViewæ¹æ³å¯ä»¥ä½¿ç¨è½¬è½½ä¿¡æ¯éç»å±å¹ã
读è è¦æ³¨æçæ¯ï¼å¨ç¼è¯æ¶ï¼Androidä¼é¢å å°ææçXMLå¸å±æ°æ®å è£ èµ·æ¥ãå¦ææ们æ³å¨ç¼è¯åååå¸å±å±æ§ï¼æçè§å®ï¼æä»¬å¿ é¡»å¨æºç¨åºä¸åè¿äº äºã
è·å¾LocationManagerçå¯ä¸æ¹æ³æ¯éè¿getSystemService()æ¹æ³çè°ç¨ãéè¿ä½¿ç¨LocationManagerï¼ æ们å¯ä»¥è·å¾ä¸ä¸ªä½ç½®æä¾è çå表ãå¨ä¸ä¸ªçå®çææ设å¤ä¸ï¼è¿ä¸ªå表å å«äºä¸äºGPSæå¡ãå®é ä¸ï¼æ们å¸æéæ©æ´å¼ºå¤§ï¼æ´ç²¾ç¡®ï¼æåä¸å¸¦æå ¶ä»éå æ å¡çGPSãç°å¨ï¼å¨æ¨¡æå¨ä¸æä¾äºä¸ä¸ªç¨äºæµè¯çGPSï¼è¿ä¸ªGPSæ¥èªSan Franciscoãå®å¶çGPSæ件å¯ä»¥å¯ä»¥è¢«ä¸ä¼ ï¼å¹¶è¿è¡æµè¯ãå¦ææ们è¦æµè¯æ´å¤æçåºç¨ï¼æ¥èªSan FranciscoçGPSå¯è½å¹¶ä¸éåã
ç®åæ们å¯ä»¥ä½¿ç¨ä½ç½®ç®¡çå¨åä½ç½®æä¾è è¿è¡getCurrentLocationçè°ç¨ãè¿ä¸ªæ¹æ³è¿åæ¬æºçå½åä½ç½®çä¸ä¸ªå¿«ç §ï¼è¿ä¸ªå¿«ç §å°ä»¥ Location对象形å¼æä¾ãå¨ææ设å¤ä¸ï¼æ们å¯ä»¥è·å¾å½åä½ç½®çç»åº¦å纬度ãç°å¨ï¼ä½¿ç¨è¿ä¸ªèæçææ设å¤ï¼æ们å¯ä»¥è·å¾è¿ä¸ªä¾åç¨åºçæç»ç»æï¼ å»ºç«äºæ¾ç¤ºä¸ä¸ªå®å¶çè§å¾ã
äºã使ç¨å®å¶è§å¾
å¨æç®åççªä½ä¸ï¼ä¸ä¸ªAndroidä¸çè§å¾ä» ä» éè¦éè½½ä¸ä¸ªonDrawæ¹æ³ãå®å¶è§å¾å¯ä»¥æ¯å¤æç3Då®ç°ææ¯é常ç®åçææ¬å½¢å¼ãä¸é¢ç CreateViewæ¹æ³ååºäºä¸é¢çå°çå 容ã
public void CreateView(){customView = new CustomView(this);
}
è¿ä¸ªæ¹æ³ç®åå°è°ç¨äºCustomView对象çæé æ¹æ³ãCustomViewç±»çå®ä¹å¦ä¸ï¼
public class CustomView extends View{LocateMe overlord;
public CustomView(LocateMe pCtx){
super(pCtx);
overlord = pCtx;
}
public void onDraw(Canvas cvs){
Paint p = new Paint();
String sLat = "Latitude: " + overlord.getLat();
String sLon = "Longitude: " + overlord.getLon();
cvs.drawText(sLat , , , p);
cvs.drawText(sLon, , , p);
}
}
è¿ä¸ªå®å¶çAndroidè§å¾è·å¾äºç»åº¦åè¿åº¦çæµè¯æ°æ®ï¼å¹¶å°è¿äºæ°æ®æ¾ç¤ºå¨å±å¹ä¸ãè¿è¦æ±ä¸ä¸ªæåLocateMeçæéï¼Activityç±»æ¯æ´ 个åºç¨ç¨åºçæ ¸å¿ãå®ç两个æ¹æ³æ¯æé æ¹æ³åonDrawæ¹æ³ãè¿ä¸ªæé æ¹æ³è°ç¨äºè¶ ç±»çæé æ¹æ³ä»¥åå¼èµ·äºActivityæéçä¸æãonDrawæ¹ æ³å°å»ºç«ä¸ä¸ªæ°çPaint对象ï¼è¿ä¸ªå¯¹è±¡å°è£ äºé¢è²ãéæ度以åå ¶ä»ç主é¢ä¿¡æ¯ï¼ï¼è¿ä¸ªå¯¹è±¡å°ä¼è®¿é®é¢è²ä¸»é¢ãå¨æ¬ç¨åºä¸ï¼å®è£ äºç¨äºæ¾ç¤ºçå符串ï¼å¹¶ 使ç¨ç»å¸æéå°å®ä»¬ç»å°å±å¹ä¸ãè¿ä¸ªåæ们äºè§£çJ2ME游æçç»å¸çèµ·æ¥é常类似ã
å ãAndroidå±æ
ä»çº¯ç²¹çå¼åè§ç¹çï¼Androidæ¯ä¸ä¸ªé常强大çSDKãå®ä½¿ç¨åºäºXMLçå¸å±åå®å¶è§å¾èåäºèµ·æ¥ã并å¯ä»¥ä½¿ç¨æ»å¨æ¡ãå°å¾ä»¥åå ¶ä»çç»ä»¶ãæ以 çè¿ä¸åé½å¯ä»¥è¢«éè½½ï¼æç±å¼å人åæ¥å®å¶ãä½å®ææä¾çææ¡£é常ç²ç³ãå¨ææ¡£ä¸å¹¶æ²¡æ象SMSçææ¯ï¼ä½æ¯ä»æ´ä½ä¸æ¥çAndroid SDKï¼è¿æ¯é常æå¸æçãä¹é常符åGoogleæ¿è¯ºçâFirst LookâSDKãç°å¨æ们è¦åçå°±æ¯çå¾ Googleåå¸ç¬¬ä¸ä¸ªåºäºAndroidçææºï¼å¹¶ä½¿ç¨å®ã
å¦è¥æ»¡æï¼è¯·ç¹å»å³ä¾§ãé纳çæ¡ãï¼å¦è¥è¿æé®é¢ï¼è¯·ç¹å»ã追é®ã
å¸ææçåç对æ¨ææ帮å©ï¼æé纳ï¼
~ O(â©_â©)O~
uni-app实现定位功能
uni-app实现定位功能的步骤如下:
首先,获取用户地理位置权限。源码使用uni-app内置的地图定位地图定位代码大全authorize方法,请求用户授权。源码在manifest.json文件中,地图定位地图定位代码大全点击"源码视图",源码笔顺查询软件源码在mp-weixin配置部分添加相关配置代码。地图定位地图定位代码大全
接下来,源码确保在app.json文件中也配置好权限请求。地图定位地图定位代码大全运行项目到微信开发者工具,源码再次配置相关代码。地图定位地图定位代码大全在authorize方法中,源码设置scope参数为userLocation,地图定位地图定位代码大全以请求获取位置信息。源码若用户拒绝授权,地图定位地图定位代码大全提示他们访问小程序设置页面。
在实际使用前,要检查是php 售后 源码否已获取到定位权限。如果未授权,应适时提示用户并请求授权。
若需实现精准定位,可以借助腾讯地图。首先,注册腾讯地图开发者,获取key并下载qqmap-wx-jssdk.min.js。然后,在该文件末尾替换相关代码,并将SDK文件放入libs文件夹。创建腾讯地图对象后,调用逆地址解析方法获取位置信息。
对于常见问题,解决方案包括:
- 如果微信小程序定位出错,检查manifest.json的配置,确保已添加正确的权限代码,并在app.json中同步配置。期货ctp源码然后,重新编译项目并启动,uni.getLocation方法应该能正常返回经纬度。此外,务必确认AppID已正确配置,可在manifest.json的"微信小程序配置"部分查看。
å¦ä½å¶ä½ç¾åº¦ç½ç«å°å¾å¦ä½å¶ä½ç¾åº¦ç½ç«å°å¾å¯¼èª
ç½ç«å°å¾æä¹åï¼1ãé¦å ä½ éè¦åå¤ä¸ä¸ªç½ç«å°å¾å¶ä½å·¥å ·ï¼æ¯å¦SitemapXï¼ç¾åº¦å¯ä»¥æç´¢SiteMapXï¼ä¸è½½å®è£ ã2.æå¼è½¯ä»¶ï¼å¨åºæ¬ä¿¡æ¯ä¸è¾å ¥ååï¼æåæ件ç®å½æ·±åº¦ãåå»âä¸ä¸æ¥âè¾å ¥xml设置ã
3.å¨XML设置ä¸éæ©éè¦çæ ¼å¼ï¼å¦XMLæ ¼å¼ãä»XMLçåç§é£æ ¼ä¸éæ©ä¸ç§ï¼ä¿®æ¹é¢çç½ç«çæ å¢è®¾ç½®å¹¶æ¯å¨ææ¯ææ´æ°ä¸æ¬¡ãåå»âä¸ä¸æ¥âè¿å ¥æºå¨äººè®¾ç½®ã
4.å¨robots设置ä¸ï¼æ£æ¥æ¯å¦ä¸ä¼ robots.txtæ件ãæ£å¸¸æ åµä¸ä½ æ¯ä¸æ³ä¸ä¼ çï¼ä½æ¯ä½ å¯ä»¥ç»ç½ç«çæºå¨äººæ·»å å 容ï¼è¿æ ·åæ¥çå°±ä¸ä¼è¢«è¦çäºãåå»âä¸ä¸æ¥âè¿å ¥FTP设置ã
5.è¾å ¥ftpå°åãè´¦å·ãå¯ç çä¿¡æ¯ï¼ç¹å»æåï¼èªå¨çæç½ç«å°å¾å¹¶ä¸ä¼ å°ç½ç«æå¡å¨ã
6.ç¬åä¿¡æ¯å®æåï¼ç¹å»ä¸ä¸æ¥è¿å ¥æ¥ç页é¢ï¼ç¶åç¹å»çæXMLæ件æé®çææ件ã
7.ç¶åå¯ä»¥è¿å ¥çæç®å½æ¥çç«ç¹å°å¾ï¼ä¹å¯ä»¥èªå·±å¤å¶ç«ç¹å°å¾ä¸ä¼ å°æå¡å¨ã
请é®ææ ·å¨ç¾åº¦å°å¾ä¸æ·»å å°çä½ç½®ä¿¡æ¯ï¼
1ãç»å½ç¾åº¦çç½ç«ï¼æå¼ç¾åº¦å°å¾ã2ãç¹å»å³ä¸è§ç»å½ç¾åº¦å¸å·ï¼ç»å½ä¹åç¹å»ä¸é¢çâåæ·å è´¹æ 注â3ãè¿å»ä¹åæ¯ä¸ä¸ªç¾åº¦çæ¬å°åæ·ä¸å¿ï¼ç¹å»å·¦è¾¹çâåæ·ç®¡çâä¸é¢çâæè¦æ 注认é¢âã4ãç°å¨æç´¢æ¡éé¢æç´¢ä¸ä¸ä½ è¦æ 注çå°åæ¯å¦å·²ç»åå¨ï¼è¦æ¯æ²¡æå°±å¯ä»¥ç¹åé¢çâå 费添å æ 注âã5ãæ·»å æ 注çæ¶åè¦å¡«åä¸ä¸ªè¯¦ç»çä¿¡æ¯ï¼éè¦å¡«å详ç»çåæ·å称ãå°åãå°å¾ä¸é¢ç精确ä½ç½®ãè¥ä¸æ§ç §ãåæ·çµè¯ãè系人ï¼ä½ çå§ååææºå·ç ï¼è¦è½èç³»ä¸çï¼ã该åæ·æå±çè¡ä¸ãè¥ä¸æ¶é´ã6ãå¡«å好ä¹åç¹å»æ交ï¼çå¾ ç¾åº¦æ¹é¢çå®¡æ ¸ï¼ä½ å¯ä»¥å¨æçåæ·éæ¥çæ交çä¿¡æ¯æ¯å¦éè¿ã
å¦ä½ç¨ç¾åº¦å°å¾å建èªå·±çå°å¾ï¼
æç´¢âå°å¾çæå¨âç¹å»è¿å ¥å¼å§å建å°å¾ã
第ä¸æ¥å å®ä½ä¸å¿ç¹ï¼å¨å·¦ä¾§æ索大è´èå´ï¼ç¶åå¨å³ä¾§çå°å¾é寻æ¾å°èªå·±éè¦çå°å¾ä¸å¿æå¨å°ã
第äºæ¥è®¾ç½®å°å¾ç尺寸ï¼æ·»å æé®çæ ·å¼ä»¥åå°å¾ç¶æ
第ä¸æ¥æ·»å æ 注ï¼å¨å³ä¾§å°å¾é¡µé¢åå»éæ©æå¨å°å°åãå¨å·¦ä¾§æ·»å æ 注éå¡«å好å称åå¤æ³¨ã
æåç¹å»é¡µé¢ä¸æ¹çè·å代ç å³å¯è·åèªå·±å建çå°å¾çæºç äºã
如何制作api地图如何制作api地图模板
求助,如何用百度地图的API写地图?最新百度地图使用注意事项(使用中出现引擎故障首页错误,以下为注意事项)第一步是介绍BaiduMapAPI.framework
第二步是引入所需的系统库。
将CoreLocation.framework和QuartzCore.framework引入Xcode项目,
OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework、
安全.框架.添加方法:在Xcode的项目中->:活动目标->;体格
阶段->;链接二进制和库,只需添加这些框架。
步骤3:环境配置
在目标->:构建设置->;将-ObjC添加到其他链接器标志中。
第四步,视觉相机源码引入mapapi.bundle资源文件。
如果使用基础地图功能,需要添加该资源,否则地图无法正常显示。
Mapapi.bundle存储了定位的资源、默认的pin标记视图和路线的关键点,以及矢量地图绘制所必需的资源文件。如果你不需要使用
内置图像显示功能,可以删除捆绑文件中的图像文件夹。您还可以根据自己的具体需要,任意替换或删除该包中image文件夹中的图像。
一块。
方法:选择项目名称,然后在右键菜单中选择“添加文件到”。
“项目名称”?,从baidumapapi.frameworkresources文件中选择mapapi.bundle文件,并选中“复制”
项”复选框,源码分析系统并单击“添加”按钮将资源文件添加到项目中。
步骤5:引入头文件。
使用SDK在类中引入头文件:
#导入
以上均引自百度地图文档。这里要注意第四条。有这些在。框架,但是它们仍然需要单独添加到项目中。
还需要在info.plist中添加(下面两个选一个,两个都用默认的NSLocationWheninuseUsagedescription添加):
NSLocationWhenNinuseUsagedescription,允许您在前台使用GPS时获取其描述。
NSLocationAlwaysusageDescription,允许永久使用GPS的描述
使用时,由于第四步没有操作,发动机初始化失败。百度的文档真的不方便。写这篇文章,希望能给将要使用百度地图的朋友提供一些帮助。
一、使用百度地图的注意事项
1.静态库是由ObjectC实现的,因此您需要确保至少有一个带有。mm后缀(您可以用。m后缀为。mm),或者在项目属性中指定编译方式,也就是Xcode的project->;编辑活动目标-构建->;GCC4.2-语言->;编译设置为"的源代码。objective-c
2.如果只在Xib文件中使用BMKMapView,而不在代码中使用,那么链接时编译器不会链接相应的符号。需要在项目属性中明确设置:在Xcode的项目中->:编辑活动目标->;构建->;链接-将-ObjC添加到其他链接器标志中。
3.申请授权密钥:新密钥和旧密钥不能通用,即新密钥只能在v2.0.2及以后版本的SDK中使用,旧密钥只能在v2.0.1及以前版本的SDK中使用;如果您还没有授权密钥,请申请它。
4.管理地图的生命周期:从2.0.0开始,BMKMapView增加了ViewwillApparel和ViewwillApparel方法来控制BMKMapView的生命周期,一次只能有一个BMKMapView接收回调消息。因此,在使用BMKMapView的viewController中,需要调用viewWillAppear和viewWillAppear方法中BMKMapView的对应方法,并处理delegate,代码如下:
-(void)viewWillAppear:(BOOL)animated{ [_mapViewviewWillAppear];_mapView.delegate=self//这里记住nil需要在不使用的时候设置,否则会影响内存的释放}-(void)viewwill消失:
-(BOOL)动画{ [_mapView视图将消失];_mapView.delegate=nil//不使用时,设置nil}
5.从iOSSDKv2.5.0开始,为了兼容iOS8的定位能力,做了相应的修改。开发者在使用过程中的注意事项如下:需要在info.plist中添加(下面两个选一个,两个都添加默认使用nslocationwhenninuseusagedescription):nslocationwhenninuseusagedescription,可以让你在前台使用GPS时获得对它的描述,并且可以让你永久使用GPS的描述。
6.在使用Xcode6开发SDK的过程中,需要在info.plist中添加:Bundledisplayname,其值不能为空(Xcode6新建项目没有这个配置,如果没有,管理器启动会失败)
7.从百度地图iOSSDKv2.5.0开始,支持和适配了arm,开发包的体积增大。但根据开发者在R//在应用程序即将后台时调用,停止所有与调用opengl相关的操作}-(void)applicationdidcombeactive:(uiApplication*)Application{ [bmkmapviewdiground];//应用程序返回前台状态时调用,回复地图的渲染和opengl相关操作}
二、使用百度地图需要介绍的库
(1)引入头文件
首先,复制头文件和静态库(。a)百度MapAPI提供的文件到你的项目目录,在Xcode中添加一个新的文件组,引入百度MapAPI提供的头文件(请使用Xcode4。x或以上平台)。添加以下代码#import
第二种方法:使用lipo命令合并。把一个设备和模拟器变成一个通用的。一个文件,并拖动合并的通用。项目中的一个文件。具体命令如下:lipo-createrelease-iphoneOS/libbaidumapapi.arelease-iphonesimulator/libbaidumapapi.a-outputlibbaidumapapi.a
第三种方式:
1.将API的libs文件夹复制到应用程序项目的根目录。
2.Xcode中的项目->:编辑活动目标->;构建->;链接-将-ObjC添加到其他链接器标志中。
3.在Xcode的项目中设置静态库的链接路径->:编辑活动目标->;构建->;搜索路径-将静态库目录添加到库路径中,例如"$(SRCROOT)/../libs/Release$(有效平台名称)编辑活动目标-构建->;GCC4.2-语言->;编译设置为"的源代码。objective-c
(3)介绍系统框架
百度地图SDK提供定位功能和动画效果,v2.0.0版本开始使用OpenGL渲染,所以你需要在你的Xcode项目中引入CoreLocation.framework和QuartzCore.framework,OpenGLES.framework,SystemConfiguration.framework,CoreGraphics.framework和Security.framework。添加方法:在Xcode的项目中->:活动目标->;构建阶段->;用库连接二进制,只需添加这些框架。
(4)介绍mapapi.bundle资源文件
Mapapi.bundle存储了定位的资源、默认的pin标记视图和路线的关键点,以及矢量地图绘制所必需的资源文件。如果不需要使用内置的图像显示功能,可以删除捆绑文件中的图像文件夹。您还可以根据您的具体需要,任意替换或删除该包中图像文件夹的图像文件。
添加方法:将mapapi.bundle复制到你的项目目录下,将bundle文件直接拖拽到Xcode项目左侧的Groups
gc.getLocation(pointAdd,function(rs){ varaddComp=rs.addressComponents;varadr="车辆:"+chepai+"rr"+"位于:"+addComp.province+","+addComp.city+","+addComp.district+","+addComp.street+","+addComp.streetNumber;//创建信息窗口,点击标注时显示标注对应的车牌号码以及当前地址varinfoWindow1=newBMap.InfoWindow(adr);marker.addEventListener("click",function(){ this.openInfoWindow(infoWindow1);});});