Как нарисовать линию под кругом с помощью плагина Mapbox Annotation? - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь отобразить два круга и линию, соединяющую их, используя Mapbox Android SDK (7.0.0) и плагин Annotations (0.4.0).Линия должна быть нарисована, когда пользователь нажимает на два круга.В идеале линия должна появляться под кругами.Если я объявлю менеджеров линий и окружностей следующим образом:

lineManager = new LineManager(mapView, mapboxMap, style);
circleManager = new CircleManager(mapView, mapboxMap, style);

circle.OnClickListener никогда не вызывается.Если я объявлю менеджеры линий и окружностей следующим образом:

circleManager = new CircleManager(mapView, mapboxMap, style);
lineManager = new LineManager(mapView, mapboxMap, style);

Вызывается circle.OnClickListener, но результирующая линия рисуется поверх окружностей, например:

enter image description here

Вместо этого:

enter image description here

Не уверен, что я делаю здесь неправильно.Есть ли способ сказать карте нарисовать линию под кругами?Или есть проблема с заказом, который я объявляю LineManager и CircleManager.

Спасибо!

РЕДАКТИРОВАТЬ

Вот мои файлы build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        jcenter()
        mavenCentral()
        maven {
            url "http://oss.sonatype.org/content/repositories/snapshots/"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

И:

apply plugin: 'com.android.application'
android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "nocompany.datacollectionapp"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
} 
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:7.0.0'
    implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v7:0.5.0-SNAPSHOT'
    implementation 'com.android.support:design:28.0.0'
}

В результате ошибка построения Gradle составляет Failed to resolve: com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v7:0.5.0-SNAPSHOT

1 Ответ

0 голосов
/ 23 января 2019

Ваша идея верна и относится к

Кругу.OnClickListener никогда не вызывается.

Скорее всего уже решено. Выможете протестировать решение с помощью com.mapbox.mapboxsdk: mapbox-android-plugin-annotation-v7: 0.5.0-SNAPSHOT , но не забудьте включить ссылку на репозиторий Sonatype.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...