Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
R
react-native-amap3d
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
放牛的园子
react-native-amap3d
Commits
57b246fe
Commit
57b246fe
authored
Jun 05, 2017
by
Qiu Xiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化事件处理
parent
48e84d00
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
13 additions
and
27 deletions
+13
-27
AMapMarker.kt
android/src/main/java/cn/qiuxiang/react/amap3d/AMapMarker.kt
+0
-7
AMapPolyline.kt
...id/src/main/java/cn/qiuxiang/react/amap3d/AMapPolyline.kt
+0
-7
AMapView.kt
android/src/main/java/cn/qiuxiang/react/amap3d/AMapView.kt
+12
-12
LayoutNode.kt
android/src/main/java/cn/qiuxiang/react/amap3d/LayoutNode.kt
+1
-1
No files found.
android/src/main/java/cn/qiuxiang/react/amap3d/AMapMarker.kt
View file @
57b246fe
...
@@ -4,9 +4,7 @@ import android.graphics.Bitmap
...
@@ -4,9 +4,7 @@ import android.graphics.Bitmap
import
android.graphics.Canvas
import
android.graphics.Canvas
import
com.amap.api.maps.AMap
import
com.amap.api.maps.AMap
import
com.amap.api.maps.model.*
import
com.amap.api.maps.model.*
import
com.facebook.react.bridge.WritableMap
import
com.facebook.react.uimanager.ThemedReactContext
import
com.facebook.react.uimanager.ThemedReactContext
import
com.facebook.react.uimanager.events.RCTEventEmitter
import
com.facebook.react.views.view.ReactViewGroup
import
com.facebook.react.views.view.ReactViewGroup
class
AMapMarker
(
context
:
ThemedReactContext
)
:
ReactViewGroup
(
context
)
{
class
AMapMarker
(
context
:
ThemedReactContext
)
:
ReactViewGroup
(
context
)
{
...
@@ -78,7 +76,6 @@ class AMapMarker(context: ThemedReactContext) : ReactViewGroup(context) {
...
@@ -78,7 +76,6 @@ class AMapMarker(context: ThemedReactContext) : ReactViewGroup(context) {
}
}
private
var
bitmapDescriptor
:
BitmapDescriptor
?
=
null
private
var
bitmapDescriptor
:
BitmapDescriptor
?
=
null
private
val
eventEmitter
:
RCTEventEmitter
=
context
.
getJSModule
(
RCTEventEmitter
::
class
.
java
)
fun
addToMap
(
map
:
AMap
)
{
fun
addToMap
(
map
:
AMap
)
{
marker
=
map
.
addMarker
(
MarkerOptions
()
marker
=
map
.
addMarker
(
MarkerOptions
()
...
@@ -119,8 +116,4 @@ class AMapMarker(context: ThemedReactContext) : ReactViewGroup(context) {
...
@@ -119,8 +116,4 @@ class AMapMarker(context: ThemedReactContext) : ReactViewGroup(context) {
bitmapDescriptor
=
BitmapDescriptorFactory
.
fromBitmap
(
bitmap
)
bitmapDescriptor
=
BitmapDescriptorFactory
.
fromBitmap
(
bitmap
)
marker
?.
setIcon
(
bitmapDescriptor
)
marker
?.
setIcon
(
bitmapDescriptor
)
}
}
fun
sendEvent
(
name
:
String
,
data
:
WritableMap
)
{
eventEmitter
.
receiveEvent
(
id
,
name
,
data
)
}
}
}
android/src/main/java/cn/qiuxiang/react/amap3d/AMapPolyline.kt
View file @
57b246fe
...
@@ -6,9 +6,7 @@ import com.amap.api.maps.model.LatLng
...
@@ -6,9 +6,7 @@ import com.amap.api.maps.model.LatLng
import
com.amap.api.maps.model.Polyline
import
com.amap.api.maps.model.Polyline
import
com.amap.api.maps.model.PolylineOptions
import
com.amap.api.maps.model.PolylineOptions
import
com.facebook.react.bridge.ReadableArray
import
com.facebook.react.bridge.ReadableArray
import
com.facebook.react.bridge.WritableMap
import
com.facebook.react.uimanager.ThemedReactContext
import
com.facebook.react.uimanager.ThemedReactContext
import
com.facebook.react.uimanager.events.RCTEventEmitter
import
com.facebook.react.views.view.ReactViewGroup
import
com.facebook.react.views.view.ReactViewGroup
class
AMapPolyline
(
context
:
ThemedReactContext
)
:
ReactViewGroup
(
context
)
{
class
AMapPolyline
(
context
:
ThemedReactContext
)
:
ReactViewGroup
(
context
)
{
...
@@ -55,7 +53,6 @@ class AMapPolyline(context: ThemedReactContext) : ReactViewGroup(context) {
...
@@ -55,7 +53,6 @@ class AMapPolyline(context: ThemedReactContext) : ReactViewGroup(context) {
private
var
coordinates
:
ArrayList
<
LatLng
>
=
ArrayList
()
private
var
coordinates
:
ArrayList
<
LatLng
>
=
ArrayList
()
private
var
colors
:
ArrayList
<
Int
>
=
ArrayList
()
private
var
colors
:
ArrayList
<
Int
>
=
ArrayList
()
private
val
eventEmitter
:
RCTEventEmitter
=
context
.
getJSModule
(
RCTEventEmitter
::
class
.
java
)
fun
setCoordinates
(
coordinates
:
ReadableArray
)
{
fun
setCoordinates
(
coordinates
:
ReadableArray
)
{
this
.
coordinates
=
ArrayList
((
0
..
coordinates
.
size
()
-
1
)
this
.
coordinates
=
ArrayList
((
0
..
coordinates
.
size
()
-
1
)
...
@@ -81,8 +78,4 @@ class AMapPolyline(context: ThemedReactContext) : ReactViewGroup(context) {
...
@@ -81,8 +78,4 @@ class AMapPolyline(context: ThemedReactContext) : ReactViewGroup(context) {
.
transparency
(
opacity
)
.
transparency
(
opacity
)
.
zIndex
(
zIndex
))
.
zIndex
(
zIndex
))
}
}
fun
sendEvent
(
name
:
String
,
data
:
WritableMap
)
{
eventEmitter
.
receiveEvent
(
id
,
name
,
data
)
}
}
}
android/src/main/java/cn/qiuxiang/react/amap3d/AMapView.kt
View file @
57b246fe
...
@@ -23,21 +23,21 @@ class AMapView(context: ThemedReactContext) : MapView(context) {
...
@@ -23,21 +23,21 @@ class AMapView(context: ThemedReactContext) : MapView(context) {
map
.
myLocationStyle
=
locationStyle
map
.
myLocationStyle
=
locationStyle
map
.
setOnMapLoadedListener
{
map
.
setOnMapLoadedListener
{
sendEvent
(
"onMapLoaded"
,
Arguments
.
createMap
()
)
emit
(
id
,
"onMapLoaded"
)
}
}
map
.
setOnMapClickListener
{
latLng
->
map
.
setOnMapClickListener
{
latLng
->
val
event
=
Arguments
.
createMap
()
val
event
=
Arguments
.
createMap
()
event
.
putDouble
(
"latitude"
,
latLng
.
latitude
)
event
.
putDouble
(
"latitude"
,
latLng
.
latitude
)
event
.
putDouble
(
"longitude"
,
latLng
.
longitude
)
event
.
putDouble
(
"longitude"
,
latLng
.
longitude
)
sendEvent
(
"onMapClick"
,
event
)
emit
(
id
,
"onMapClick"
)
}
}
map
.
setOnMapLongClickListener
{
latLng
->
map
.
setOnMapLongClickListener
{
latLng
->
val
event
=
Arguments
.
createMap
()
val
event
=
Arguments
.
createMap
()
event
.
putDouble
(
"latitude"
,
latLng
.
latitude
)
event
.
putDouble
(
"latitude"
,
latLng
.
latitude
)
event
.
putDouble
(
"longitude"
,
latLng
.
longitude
)
event
.
putDouble
(
"longitude"
,
latLng
.
longitude
)
sendEvent
(
"onMapLongClick"
,
event
)
emit
(
id
,
"onMapLongClick"
,
event
)
}
}
map
.
setOnMyLocationChangeListener
{
location
->
map
.
setOnMyLocationChangeListener
{
location
->
...
@@ -45,21 +45,21 @@ class AMapView(context: ThemedReactContext) : MapView(context) {
...
@@ -45,21 +45,21 @@ class AMapView(context: ThemedReactContext) : MapView(context) {
event
.
putDouble
(
"latitude"
,
location
.
latitude
)
event
.
putDouble
(
"latitude"
,
location
.
latitude
)
event
.
putDouble
(
"longitude"
,
location
.
longitude
)
event
.
putDouble
(
"longitude"
,
location
.
longitude
)
event
.
putDouble
(
"accuracy"
,
location
.
accuracy
.
toDouble
())
event
.
putDouble
(
"accuracy"
,
location
.
accuracy
.
toDouble
())
sendEvent
(
"onLocationChange"
,
event
)
emit
(
id
,
"onLocationChange"
)
}
}
map
.
setOnMarkerClickListener
{
marker
->
map
.
setOnMarkerClickListener
{
marker
->
markers
[
marker
.
id
]
?.
sendEvent
(
"onMarkerClick"
,
Arguments
.
createMap
()
)
emit
(
markers
[
marker
.
id
]
?.
id
,
"onMarkerClick"
)
false
false
}
}
map
.
setOnMarkerDragListener
(
object
:
AMap
.
OnMarkerDragListener
{
map
.
setOnMarkerDragListener
(
object
:
AMap
.
OnMarkerDragListener
{
override
fun
onMarkerDragStart
(
marker
:
Marker
)
{
override
fun
onMarkerDragStart
(
marker
:
Marker
)
{
markers
[
marker
.
id
]
?.
sendEvent
(
"onMarkerDragStart"
,
Arguments
.
createMap
()
)
emit
(
markers
[
marker
.
id
]
?.
id
,
"onMarkerDragStart"
)
}
}
override
fun
onMarkerDrag
(
marker
:
Marker
)
{
override
fun
onMarkerDrag
(
marker
:
Marker
)
{
markers
[
marker
.
id
]
?.
sendEvent
(
"onMarkerDrag"
,
Arguments
.
createMap
()
)
emit
(
markers
[
marker
.
id
]
?.
id
,
"onMarkerDrag"
)
}
}
override
fun
onMarkerDragEnd
(
marker
:
Marker
)
{
override
fun
onMarkerDragEnd
(
marker
:
Marker
)
{
...
@@ -67,16 +67,16 @@ class AMapView(context: ThemedReactContext) : MapView(context) {
...
@@ -67,16 +67,16 @@ class AMapView(context: ThemedReactContext) : MapView(context) {
val
data
=
Arguments
.
createMap
()
val
data
=
Arguments
.
createMap
()
data
.
putDouble
(
"latitude"
,
position
.
latitude
)
data
.
putDouble
(
"latitude"
,
position
.
latitude
)
data
.
putDouble
(
"longitude"
,
position
.
longitude
)
data
.
putDouble
(
"longitude"
,
position
.
longitude
)
markers
[
marker
.
id
]
?.
sendEvent
(
"onMarkerDragEnd"
,
data
)
emit
(
markers
[
marker
.
id
]
?.
id
,
"onMarkerDragEnd"
,
data
)
}
}
})
})
map
.
setOnInfoWindowClickListener
{
marker
->
map
.
setOnInfoWindowClickListener
{
marker
->
markers
[
marker
.
id
]
?.
sendEvent
(
"onInfoWindowClick"
,
Arguments
.
createMap
()
)
emit
(
markers
[
marker
.
id
]
?.
id
,
"onInfoWindowClick"
)
}
}
map
.
setOnPolylineClickListener
{
polyline
->
map
.
setOnPolylineClickListener
{
polyline
->
polylines
[
polyline
.
id
]
?.
sendEvent
(
"onPolylineClick"
,
Arguments
.
createMap
()
)
emit
(
polylines
[
polyline
.
id
]
?.
id
,
"onPolylineClick"
)
}
}
map
.
setInfoWindowAdapter
(
AMapInfoWindowAdapter
(
context
,
markers
))
map
.
setInfoWindowAdapter
(
AMapInfoWindowAdapter
(
context
,
markers
))
...
@@ -92,7 +92,7 @@ class AMapView(context: ThemedReactContext) : MapView(context) {
...
@@ -92,7 +92,7 @@ class AMapView(context: ThemedReactContext) : MapView(context) {
polylines
.
put
(
polyline
.
polyline
?.
id
!!
,
polyline
)
polylines
.
put
(
polyline
.
polyline
?.
id
!!
,
polyline
)
}
}
fun
sendEvent
(
name
:
String
,
data
:
WritableMap
)
{
fun
emit
(
id
:
Int
?,
name
:
String
,
data
:
WritableMap
=
Arguments
.
createMap
()
)
{
eventEmitter
.
receiveEvent
(
id
,
name
,
data
)
id
?.
let
{
eventEmitter
.
receiveEvent
(
it
,
name
,
data
)
}
}
}
}
}
android/src/main/java/cn/qiuxiang/react/amap3d/LayoutNode.kt
View file @
57b246fe
...
@@ -11,5 +11,5 @@ class LayoutNode : LayoutShadowNode() {
...
@@ -11,5 +11,5 @@ class LayoutNode : LayoutShadowNode() {
layoutHeight
.
toInt
()))
layoutHeight
.
toInt
()))
}
}
class
Layout
(
var
width
:
Int
,
var
height
:
Int
)
data
class
Layout
(
var
width
:
Int
,
var
height
:
Int
)
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment