Commit 3769a378 authored by wind.wang's avatar wind.wang

fix android crash

parent 34346382
......@@ -138,11 +138,11 @@ export default class Marker extends Component {
onInfoWindowPress: PropTypes.func
};
componentDidUpdate() {
if (this.icon && Platform.OS === "android") {
setTimeout(() => this.sendCommand("update"), 0);
}
}
// componentDidUpdate() {
// if (this.icon && Platform.OS === "android") {
// setTimeout(() => this.sendCommand("update"), 0);
// }
// }
name = "AMapMarker";
icon = null;
......
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli '/usr/local/lib/node_modules/cnpm/node_modules/.bin/npm',
1 verbose cli '--userconfig=/Users/wangduo/.cnpmrc',
1 verbose cli '--disturl=https://npm.taobao.org/mirrors/node',
1 verbose cli '--registry=http://registry.cnpmjs.org/',
1 verbose cli 'publish' ]
2 info using npm@3.9.5
3 info using node@v8.15.0
4 verbose publish [ '.' ]
5 silly cache add args [ '.', null ]
6 verbose cache add spec .
7 silly cache add parsed spec Result {
7 silly cache add raw: '.',
7 silly cache add scope: null,
7 silly cache add name: null,
7 silly cache add rawSpec: '.',
7 silly cache add spec: '/Users/wangduo/workspace/packages/react-native-amap-sdk',
7 silly cache add type: 'directory' }
8 verbose addLocalDirectory /Users/wangduo/.npm/@hisense/react-native-amap-sdk/1.0.3/package.tgz not in flight; packing
9 verbose correctMkdir /Users/wangduo/.npm correctMkdir not in flight; initializing
10 info lifecycle @hisense/react-native-amap-sdk@1.0.3~prepublish: @hisense/react-native-amap-sdk@1.0.3
11 silly lifecycle @hisense/react-native-amap-sdk@1.0.3~prepublish: no script for prepublish, continuing
12 verbose tar pack [ '/Users/wangduo/.npm/@hisense/react-native-amap-sdk/1.0.3/package.tgz',
12 verbose tar pack '/Users/wangduo/workspace/packages/react-native-amap-sdk' ]
13 verbose tarball /Users/wangduo/.npm/@hisense/react-native-amap-sdk/1.0.3/package.tgz
14 verbose folder /Users/wangduo/workspace/packages/react-native-amap-sdk
15 verbose addLocalTarball adding from inside cache /Users/wangduo/.npm/@hisense/react-native-amap-sdk/1.0.3/package.tgz
16 verbose correctMkdir /Users/wangduo/.npm correctMkdir not in flight; initializing
17 silly cache afterAdd @hisense/react-native-amap-sdk@1.0.3
18 verbose afterAdd /Users/wangduo/.npm/@hisense/react-native-amap-sdk/1.0.3/package/package.json not in flight; writing
19 verbose correctMkdir /Users/wangduo/.npm correctMkdir not in flight; initializing
20 verbose afterAdd /Users/wangduo/.npm/@hisense/react-native-amap-sdk/1.0.3/package/package.json written
21 silly publish { files: [ 'android', 'ios', 'index.js', 'index.web.js', 'app', 'readme.md' ],
21 silly publish name: '@hisense/react-native-amap-sdk',
21 silly publish license: 'MIT',
21 silly publish author: { name: 'Wind.Wang' },
21 silly publish version: '1.0.3',
21 silly publish scripts: { test: 'echo "Error: no test specified" && exit 1' },
21 silly publish repository:
21 silly publish { type: 'git',
21 silly publish url: 'http://gitlab.shop.hisense.com/wangduo3/react-native-amap-sdk' },
21 silly publish keywords: [ 'react', 'native', 'amap', 'location' ],
21 silly publish main: 'main.js',
21 silly publish dependencies: { 'prop-types': '15.6.1', 'react-amap': '^1.2.8' },
21 silly publish description: 'React Native AMap component for iOS + Android +Web',
21 silly publish readme: '# RNAMapLocation 此分支为2D地图的分支,3D地图见 master3d 分支\n\n高德api封装使用ReactNative结构,包含定位,地图,地图标注,地理编码,逆地理编码,poi兴趣点,导航等功能\n\n\namap 的文档参考https://github.com/qiuxiang/react-native-amap3d, 改了 mapview 组件的一些东西,修改后的内容参考demo\n\n## Version\n\n** v 2.0.0 **\n\n### 安装\n\n- 添加npm依赖\n\npackage.json的depencency中添加:\n\n```\n "@terminus/react-native-amap-sdk": "2.0.2-amap2d.1"\n```\n\n或者\n\nnpm install @terminus/react-native-amap-sdk@2.0.0-amap2d --save\n\n- 项目导入\n\n 1.iOS 建议使用cocoapods依赖方式, `Podfile`文件添加如下\n\n```\n pod \'react-native-amap-sdk/LocationAmap\', :path => \'../node_modules/@terminus/react-native-amap-sdk/ios\'\n pod \'react-native-amap-sdk/Map3dAmap\', :path => \'../node_modules/@terminus/react-native-amap-sdk/ios\'\n```\n然后执行 `pod upodate `方法\n\n 2.安卓集成 \n\n 在settings.gradle 文件中加入如下\n ```\n // 只有poi 和 获取 定位坐标信息的, 没有地图组件\n include \':react-native-amap-sdk\'\n project(\':react-native-amap-sdk\').projectDir = new File(rootProject.projectDir, \'../node_modules/@terminus/react-native-amap-sdk/android/locationamap\')\n\n // 只有地图相关控件(如mark,折线,多边围栏等)\n include \':react-native-3damap-sdk\'\n project(\':react-native-3damap-sdk\').projectDir = new File(rootProject.projectDir, \'../node_modules/@terminus/react-native-amap-sdk/android/map3damap\')\n ```\n\n 在application的app模块下的build.gradle 中添加如下\n ```\n compile project(":react-native-amap-sdk")\n compile project(":react-native-3damap-sdk")\n ```\n\n 在MainApplication的代码中加入如下\n\n ```\n \n import cn.qiuxiang.react.amap3d.AMap3DPackage;\n import io.terminus.rnamap.AMapReactPackage;\n\n ......\n\n @Override\n protected List<ReactPackage> getPackages() {\n return Arrays.<ReactPackage>asList(\n ......\n new AMapReactPackage(),\n new AMap3DPackage()\n ......\n );\n }\n };\n\n ```\n\n- 应用权限配置\n\n在iOS应用info.plist中添加如下配置\n\n```\n <key>NSAppTransportSecurity</key>\n\t<dict>\n\t\t<key>NSAllowsArbitraryLoads</key>\n\t\t<true/>\n\t</dict>\n <key>NSLocationWhenInUseUsageDescription</key>\n\t<string>需要使用您的定位信息</string>\n\n```\n\n- 高德AppKey配置\n\n iOS工程配置\n\nAppDelegate类`-[AppDelegate application:didFinishLaunchingWithOptions:]`方法中添加如下行\n\n```\n\n #import "RNAMConfig.h"\n\n ......\n -[AppDelegate application:didFinishLaunchingWithOptions:]\n ......\n\n [RNAMConfig setAppKey: @"请输入您的用户Key"];\n ......\n\n```\n\n Android工程配置\n\n`Manifest`文件中添加如下行\n\n```\n<meta-data android:name="com.amap.api.v2.apikey" android:value="请输入您的用户Key"/>\n```\n\n### 使用\n\n#### 定位模块\n\n1. 获取当前那位置\n\n** 使用说明 **\n\n```\nimport {fetchLocation} from \'@terminus/react-native-amap-sdk\';\n\n···\n fetchLocation((lp, error) => {\n if (error) {\n console.log(\'location\', error.code, error.message)\n return\n }\n // 定位成功 根据定位信息做相关处理\n \n \n });\n\n```\n\n** 参数说明 **\n\nlp :相关当前定位信息,包含data和requestId,其中,data中即包含当前定位信息,如下所示:\n\n| 参数名 | 描述 | 类型 |\n|:-------------: |:-------------: |:-----:|\n|latitude| gps坐标信息 |string |\n| longitude |gps坐标信息 | string |\n| formattedAddress |格式化地址| string |\n| country |国家| string |\n| province |省/直辖市| string |\n| city |市| string |\n| district |区| string |\n| citycode |城市编码| string |\n| adcode |区域编码| string |\n| street |街道名称| string |\n| number |门牌号| string |\n| POIName |兴趣点名称| string |\n| AOIName |所属兴趣点名称| string |\n| pois |poi列表| object |\n\n\n#### 地图模块\n\n** 使用说明 **\n\n\namap 的文档参考https://github.com/qiuxiang/react-native-amap3d, 改了 mapview 组件的一些东西,修改后的内容参考demo\n\n\n#### 地图功能模块\n1. 地理编码\n\n** 使用说明 **\n\n```\n import {AMapGeocode} from \'@terminus/react-native-amap-sdk\';\n\n...\n// 根据地址和城市信息进行地理编码\nAMapGeocode(address,city).then((data)=>{\n const geocode = data.list[0];\n // 获取到位置信息\n this.setState({\n geocodeResult : `${geocode.latitude},${geocode.longitude}`\n })\n })\n\n```\n\n** 参数说明 **\n\n结果返回为\n\n```\ndata:list(array类型)\n```\n其中:list数组中返回的就是相关地理编码信息,\nlist中的返回对象参数信息如下:\n\n\n| 参数名 | 描述 | 类型 |\n|:-------------: |:-------------: |:-----:|\n|latitude| gps坐标信息 |string |\n| longitude |gps坐标信息 | string |\n| formattedAddress |格式化地址| string |\n| country |国家| string |\n| province |省/直辖市| string |\n| city |市| string |\n| district |区| string |\n| citycode |城市编码| string |\n| adcode |区域编码| string |\n| street |街道名称| string |\n| number |门牌号| string |\n| POIName |兴趣点名称| string |\n| AOIName |所属兴趣点名称| string |\n| pois |poi列表| object |\n\n\n\n2. 逆地理编码\n\n** 使用说明 **\n根据经纬度进行逆地理编码\n\n```\nimport {AMapReGeocode} from \'@terminus/react-native-amap-sdk\';\n...\n const latitude = \'30.179339\' \n const longitude = \'120.14156\'\n\n AMapReGeocode(latitude,longitude).then((data)=>{\n // 获取当前位置信息\n })\n\n```\n\n** 参数说明 **\n返回的data即是当前位置信息,详细说明见定位模块中的定位信息列表。\n\n\n3. poi数据\n\n** 使用说明 ** \n\n```\nimport { AMapPOISearchPage,AMapPOISearch\n } from \'@terminus/react-native-amap-sdk\';\n\n ...\n \n // poi搜索\n AMapPOISearch(keywords,city,).then((data) =>{\n if(data.pois){\n \n })\n }\n });\n\n // poi搜索 (设定搜索页)\n AMapPOISearchPage(keywords,city,pageNum,pageSize).then((data) =>{\n if(data.pois){\n \n })\n }\n });\n\n\n```\n\n** 参数说明 ** \n\n - 传入参数\n \n| 参数名 | 描述 | 类型 |\n|:-------------: |:-------------: |:-----:|\n|keywords| poi关键字 |string |\n| city |限定城市(cityName/cityCode/adcode) |string |\n| pageNum |限定页数| string |\n| pageSize |每页记录数| string |\n\n- 搜索结果\n\n返回结果如下所示:\n\n```\ndata:{\ncount:0,// poi总数量\npois:[],// poi数据列表\nsuggestions:[] // 关键字建议列表和城市建议列表\n}\n```\n其中,pois数组中就是所需要的poi数据信息,poi数据中可能的参数信息如下:\n\n| 参数名 | 描述 | 类型 |\n|:-------------: |:-------------: |:-----:|\n|uid | POI全局唯一ID | string|\n|name| 名称 |string |\n|type|兴趣点类型 |string |\n|typecode| 类型编码 |string |\n|location| 经纬度 |string |\n|address|地址 |string |\n|tel|电话 |string |\n|distance|距离 |string |\n|parkingType| 停车场类型|string |\n|shopID| 商铺id |string |\n|postcode| 邮编 |string |\n|website| 网址 |string |\n|email| 电子邮件 |string |\n|province| 省 |string |\n|pcode| 省编码 |string |\n|city| 城市名称 |string |\n|citycode| 城市编码 |string |\n|district| 区域名称 |string |\n|adcode| 区域编码 |string |\n|gridcode| 地理格ID |string |\n|enterLocation| 入口经纬度 |string |\n|exitLocation| 出口经纬度 |string |\n|direction| 方向 |string |\n|hasIndoorMap| 是否有室内地图 |bool |\n|businessArea| 所在商圈 |string |\n|indoorData| 室内信息 |string |\n|subPOIs| 子POI列表 |array |\n|images| 图片列表 |array |\n\n\n#### 导航功能模块\n\n** 使用说明 ** \n\n支持使用高德地图导航,iOS可选自带地图导航\n\n```\nimport {mapNavigation} from \'@terminus/react-native-amap-sdk\';\n\n...\n\nmapNavigation(\n{sname:\'我的位置\',\nslat:30.179415,\nslon:120.138031,\ndname:\'云栖小镇\',\ndlat:30.132344,\ndlon:120.083468}\n)\n\n```\n\n** 参数说明 ** \n\n导航参数配置说明\n\n| 参数名 | 描述 | 类型 |\n|:-------------: |:-------------: |:-----:|\n|sname| 初始位置描述 |string |\n| slat |出发地gps信息 |string |\n| slon |出发地gps信息| string |\n| dname |目的地描述| string |\n| dlat |目的地gps信息| string |\n| dlon |目的地gps信息| string |\n\n\n#### web使用\n支持使用高德地图web获取当前位置\n\n```\nimport { setAmapKey, fetchLocation } from \'@terminus/react-native-amap-sdk\';\n\nsetAmapKey(\'xxxx\', \'AMap.Geocoder\') // 如果没有引入地图script,则必须先设置 地图的key\n\nfetchLocation((lp, error) => {\n if (error) {\n console.log(\'location\', error.code, error.message)\n return\n }\n // 定位成功 根据定位信息做相关处理\n \n});\n\n```\n\n** 参数说明 **\n\nlp :相关当前定位信息,与react-native的相关参数并不完全一致, data中即包含当前定位信息,缺失的信息如下所示:\n\n| 参数名 | 描述 | 类型 |\n|:-------------: |:-------------: |:-----:|\n| country |国家| string |\n| POIName |兴趣点名称| string |\n| AOIName |所属兴趣点名称| string |\n\n\n### mapview模块\n\n\n## 功能\n\n- 地图模式切换(常规、卫星、导航、夜间)\n- 3D 建筑、路况、室内地图\n- 内置地图控件的显示隐藏(指南针、比例尺、定位按钮、缩放按钮)\n- 手势交互控制(平移、缩放、旋转、倾斜)\n- 中心坐标、缩放级别、倾斜度的设置,支持动画过渡\n- 地图事件(onPress、onLongPress、onLocation、onStatusChange)\n- 地图标记(Marker)\n - 自定义信息窗体\n - 自定义图标\n- 折线绘制(Polyline)\n- 多边形绘制(Polygon)\n- 圆形绘制(Circle)\n- 热力图(HeatMap)\n- 海量点(MultiPoint)\n- 离线地图\n\n<img src="https://user-images.githubusercontent.com/1709072/40894475-907865ea-67dc-11e8-83f3-09ac73c95434.jpg" width="215"> <img src="https://user-images.githubusercontent.com/1709072/40894476-90ac38d4-67dc-11e8-9667-a4c36ef897bc.jpg" width="215"> <img src="https://user-images.githubusercontent.com/1709072/40894477-90dd258e-67dc-11e8-8809-e8f4e3198cee.jpg" width="215"> <img src="https://user-images.githubusercontent.com/1709072/40894478-91a87720-67dc-11e8-9135-c64680ad70eb.jpg" width="215">\n\n## 用法\n\n### 导入地图模块\n```jsx\nimport { MapView } from \'react-native-amap3d\'\n```\n\n### 基本用法\n```jsx\n<MapView\n coordinate={{\n latitude: 39.91095,\n longitude: 116.37296,\n }}\n/>\n```\n\n### 启用定位并监听定位事件\n```jsx\n<MapView\n locationEnabled\n onLocation={({ nativeEvent }) =>\n console.log(`${nativeEvent.latitude}, ${nativeEvent.longitude}`)}\n/>\n```\n\n### 添加可拖拽的地图标记\n```jsx\n<MapView>\n <MapView.Marker\n draggable\n title=\'这是一个可拖拽的标记\'\n onDragEnd={({ nativeEvent }) =>\n console.log(`${nativeEvent.latitude}, ${nativeEvent.longitude}`)}\n coordinate={{\n latitude: 39.91095,\n longitude: 116.37296,\n }}\n />\n</MapView>\n```\n\n### 自定义标记图片及信息窗体\n```jsx\nconst coordinate = {\n latitude: 39.706901,\n longitude: 116.397972,\n}\n\n<MapView.Marker image=\'flag\' coordinate={coordinate}>\n <View style={styles.customInfoWindow}>\n <Text>自定义信息窗体</Text>\n </View>\n</MapView.Marker>\n```\n\n\n## 接口\n\n请参考注释文档:\n- [MapView](app/amap3d/maps/MapView.js) 位置: app/amap3d/maps/MapView.js\n- [Marker](app/amap3d/maps/Marker.js) 位置: app/amap3d/maps/Marker.js\n- [Polyline](app/amap3d/maps/Polyline.js) 位置: app/amap3d/maps/Polyline.js\n- [Polygon](app/amap3d/maps/Polygon.js) 位置: app/amap3d/maps/Polygon.js\n- [Circle](app/amap3d/maps/Circle.js) 位置: app/amap3d/maps/Circle.js\n- [HeatMap](app/amap3d/maps/HeatMap.js) 位置: app/amap3d/maps/HeatMap.js\n- [MultiPoint](app/amap3d/maps/MultiPoint.js) 位置: app/amap3d/maps/MultiPoint.js\n\n更多功能查看example 或下载项目中的 app-release.apk, 可执行adb install -r app-release.apk进行安装',
21 silly publish readmeFilename: 'readme.md',
21 silly publish gitHead: '3434638294c2117024e7cd111ccd942b46fd9782',
21 silly publish _id: '@hisense/react-native-amap-sdk@1.0.3',
21 silly publish _shasum: 'd2f56c82745011589cf95cfb2cf48c08873fd182',
21 silly publish _from: '.' }
22 verbose getPublishConfig undefined
23 silly mapToRegistry name @hisense/react-native-amap-sdk
24 silly mapToRegistry scope (from package name) @hisense
25 silly mapToRegistry registry http://registry.shop.hisense.com/
26 silly mapToRegistry data Result {
26 silly mapToRegistry raw: '@hisense/react-native-amap-sdk',
26 silly mapToRegistry scope: '@hisense',
26 silly mapToRegistry name: '@hisense/react-native-amap-sdk',
26 silly mapToRegistry rawSpec: '',
26 silly mapToRegistry spec: 'latest',
26 silly mapToRegistry type: 'tag' }
27 silly mapToRegistry uri http://registry.shop.hisense.com/@hisense%2freact-native-amap-sdk
28 verbose publish registryBase http://registry.shop.hisense.com/
29 silly publish uploading /Users/wangduo/.npm/@hisense/react-native-amap-sdk/1.0.3/package.tgz
30 verbose request uri http://registry.shop.hisense.com/@hisense%2freact-native-amap-sdk
31 verbose request always-auth set; sending authorization
32 info attempt registry request try #1 at 14:35:47
33 verbose request id 490fa18fac3b46b4
34 http request PUT http://registry.shop.hisense.com/@hisense%2freact-native-amap-sdk
35 info retry will retry, error on last attempt: Error: connect ECONNREFUSED 103.94.200.133:80
36 info attempt registry request try #2 at 14:36:13
37 http request PUT http://registry.shop.hisense.com/@hisense%2freact-native-amap-sdk
38 info retry will retry, error on last attempt: Error: connect ECONNREFUSED 103.94.200.133:80
39 info attempt registry request try #3 at 14:37:29
40 http request PUT http://registry.shop.hisense.com/@hisense%2freact-native-amap-sdk
41 verbose request invalidating /Users/wangduo/.npm/registry.shop.hisense.com/_40hisense_252freact-native-amap-sdk on PUT
42 error publish Failed PUT undefined
43 verbose stack Error: connect ECONNREFUSED 103.94.200.133:80
43 verbose stack at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
44 verbose cwd /Users/wangduo/workspace/packages/react-native-amap-sdk
45 error Darwin 18.2.0
46 error argv "/usr/local/bin/node" "/usr/local/lib/node_modules/cnpm/node_modules/.bin/npm" "--userconfig=/Users/wangduo/.cnpmrc" "--disturl=https://npm.taobao.org/mirrors/node" "--registry=http://registry.cnpmjs.org/" "publish"
47 error node v8.15.0
48 error npm v3.9.5
49 error code ECONNREFUSED
50 error errno ECONNREFUSED
51 error syscall connect
52 error Error: connect ECONNREFUSED 103.94.200.133:80
52 error at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
52 error { Error: connect ECONNREFUSED 103.94.200.133:80
52 error at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
52 error errno: 'ECONNREFUSED',
52 error code: 'ECONNREFUSED',
52 error syscall: 'connect',
52 error address: '103.94.200.133',
52 error port: 80 }
53 error If you are behind a proxy, please make sure that the
53 error 'proxy' config is set properly. See: 'npm help config'
54 verbose exit [ 1, true ]
......@@ -10,7 +10,7 @@
"name": "@hisense/react-native-amap-sdk",
"license": "MIT",
"author": "Wind.Wang",
"version": "1.0.3",
"version": "1.0.5",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment