Creator iç mekan haritaları için dinamik stil uygulama

İç mekan haritası veri özelliklerinin dinamik özelliklerini temel alan stiller uygulamak için Azure Haritalar Oluşturucu Özellik Durumu hizmetini kullanabilirsiniz. Örneğin, doluluk durumunu yansıtmak için tesis toplantı odalarını belirli bir renkle işleyebilirsiniz. Bu makalede, Özellik Durumu hizmeti ve İç Mekan Web modülü ile iç mekan haritası özelliklerinin dinamik olarak nasıl işlenip işlendiği açıklanır.

Önkoşullar

Bu makalede Postman uygulaması kullanılır, ancak farklı bir API geliştirme ortamı seçebilirsiniz.

Dinamik stil uygulama

Önkoşulları tamamladıktan sonra, abonelik anahtarınız ve statesetIdile yapılandırılmış basit bir web uygulamanız olmalıdır.

Özellik seçme

Dinamik stil uygulamak için toplantı veya konferans odası gibi bir özelliğe kimliğiyle başvurabilirsiniz. Bu özelliğin dinamik özelliğini veya durumunu güncelleştirmek için özellik kimliğini kullanın. Bir veri kümesinde tanımlanan özellikleri görüntülemek için aşağıdaki yöntemlerden birini kullanın:

  • WFS API'si (Web Özelliği hizmeti). Veri kümelerini sorgulamak için WFS API'sini kullanın. WFS, Open Geospatial Consortium API Özelliklerini izler. WFS API'si bir veri kümesi içindeki özellikleri sorgulamak için yararlıdır. Örneğin, WFS'yi kullanarak belirli bir tesisin ve kat düzeyinin tüm orta ölçekli toplantı odalarını bulabilirsiniz.

  • Bu makalede gösterildiği gibi, kullanıcının web uygulamanızı kullanarak haritadaki özellikleri seçmek için kullanabileceği özelleştirilmiş kodu uygulayın.

Aşağıdaki betik, fare tıklama olayını uygular. Kod, tıklanan noktaya göre özellik kimliğini alır. Uygulamanızda, İç Mekan Yöneticisi kod bloğunuzdan sonra kodu ekleyebilirsiniz. Uygulamanızı çalıştırın ve tıklanan noktanın özellik kimliğini almak için konsolu denetleyin.

/* Upon a mouse click, log the feature properties to the browser's console. */
map.events.add("click", function(e){

    var features = map.layers.getRenderedShapes(e.position, "unit");

    features.forEach(function (feature) {
        if (feature.layer.id == 'indoor_unit_office') {
            console.log(feature);
        }
    });
});

İç mekan haritası oluşturma öğreticisi özellik durum kümesini için durum güncelleştirmelerini kabul etmek üzere occupancyyapılandırdı.

Sonraki bölümde, office'in doluluk durumunu olarak ve office'i UNIT27UNIT26true olarak falseayarlayacaksınız.

Doluluk durumunu ayarlama

İki ofisin UNIT26 durumunu güncelleştirin ve UNIT27:

  1. Postman uygulamasında Yeni'yi seçin.

  2. Yeni Oluştur penceresinde HTTP İsteği'ni seçin.

  3. İstek için POST Data Upload gibi bir İstek adı girin.

  4. Özellik Güncelleştirme Durumları API'sinin aşağıdaki URL'sini girin (değerini Azure Haritalar abonelik anahtarınızla ve statesetId ile statesetIddeğiştirin{Azure-Maps-Subscription-key}):

    https://us.atlas.microsoft.com/featurestatesets/{statesetId}/featureStates/UNIT26?api-version=2.0&subscription-key={Your-Azure-Maps-Subscription-key}
    
  5. Üst Bilgiler sekmesini seçin.

  6. ANAHTAR alanında öğesini seçinContent-Type. DEĞER alanında öğesini seçinapplication/json.

    Header tab information for stateset creation.

  7. Gövde sekmesini seçin.

  8. Açılan listelerde ham ve JSON'ı seçin.

  9. Aşağıdaki JSON stilini kopyalayın ve gövde penceresine yapıştırın:

    {
        "states": [
            {
                "keyName": "occupied",
                "value": true,
                "eventTimestamp": "2020-11-14T17:10:20"
            }
        ]
    }
    

    Önemli

    Güncelleştirme yalnızca, gönderilen zaman damgası aynı özellik kimliği için önceki özellik durumu güncelleştirme isteklerinde kullanılan zaman damgasından sonraysa kaydedilir.

  10. yerine 7. adımda kullandığınız URL'yi UNIT26UNIT27değiştirin:

    https://us.atlas.microsoft.com/featurestatesets/{statesetId}/featureStates/UNIT27?api-version=2.0&subscription-key={Your-Azure-Maps-Subscription-key}
    
  11. Aşağıdaki JSON stilini kopyalayın ve gövde penceresine yapıştırın:

    {
        "states": [
            {
                "keyName": "occupied",
                "value": false,
                "eventTimestamp": "2020-11-14T17:10:20"
            }
        ]
    }
    

Dinamik stilleri haritada görselleştirme

Daha önce tarayıcıda açtığınız web uygulaması artık harita özelliklerinin güncelleştirilmiş durumunu yansıtmalıdır:

  • Office UNIT27(142) yeşil görünmelidir.
  • Office UNIT26(143) kırmızı görünmelidir.

Free room in green and Busy room in red

Canlı tanıtıma bakın

Sonraki adımlar

Daha fazla bilgi için:

[Azure Haritalar Oluşturucu nedir?]