我拖了 ol.interaction.Select ,一次单击,另一次双击。
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
defaultConfig {
applicationId "com.example.eskimo"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
jackOptions {
enabled false
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
compileOptions {
}
aaptOptions {
cruncherEnabled = false
}
}
dependencies {
compile 'com.android.support:recyclerview-v7:+'
compile 'com.android.support:appcompat-v7:+'
compile 'com.google.code.gson:gson:2.2.2'
compile 'com.google.guava:guava:17.0'
compile files('libs/mobileservices-2.0.1-beta-javadoc.jar')
compile files('libs/mobileservices-2.0.1-beta-sources.jar')
compile files('libs/mobileservices-2.0.1-beta.jar')
compile "com.google.android.gms:play-services-identity:8.4.0"
compile "com.google.android.gms:play-services-location:8.4.0"
compile "com.google.android.gms:play-services-appindexing:8.4.0"
compile 'com.google.android.gms:play-services-maps:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.squareup:otto:1.3.8'
compile 'com.akexorcist:RoundCornerProgressBar:2.0.3'
compile project(':MPChartLib3')
compile project(':ButtonsLib')
compile 'com.google.android.gms:play-services-maps:10.0.1'
}
但是当我想要取消选择双击时,我必须在地图中单击两次。是否可以通过一次单击双击取消选择?
答案 0 :(得分:1)
您可以通过将自定义函数作为condition
互动的selectDoubleClick
传递来实现此目的。如果没有选择任何功能,则会检查所选功能并做出反应以双击,并在有所选功能时单击。像这样:
condition: function(mapBrowserEvent) {
if (selectDoubleClick.getFeatures().getLength() == 0) {
return mapBrowserEvent.type == 'dblclick';
} else {
return mapBrowserEvent.type == 'singleclick';
}
}
答案 1 :(得分:0)
在我解决问题的版本中,我使用了@ahocevar的部分代码 我的解决方案很简单。首先,如果存在任何getFeature链接到此交互(selectDoubleClick),然后清除此功能。
var concludeClickEdit = function(eventListener) {
if(selectDoubleClick.getFeatures().getLength() !== 0){
selectDoubleClick.getFeatures().clear();
}
}
如果单击地图并清除功能,最好是监听事件。