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
- Bir
statesetId
. Daha fazla bilgi için bkz . Özellik durum kümesi oluşturma. - Bir web uygulaması. Daha fazla bilgi için bkz . İç Mekan Haritası modülünü kullanma.
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 statesetId
ile 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 occupancy
yapılandırdı.
Sonraki bölümde, office'in doluluk durumunu olarak ve office'i UNIT27
UNIT26
true
olarak false
ayarlayacaksınız.
Doluluk durumunu ayarlama
İki ofisin UNIT26
durumunu güncelleştirin ve UNIT27
:
Postman uygulamasında Yeni'yi seçin.
Yeni Oluştur penceresinde HTTP İsteği'ni seçin.
İstek için POST Data Upload gibi bir İstek adı girin.
Özellik Güncelleştirme Durumları API'sinin aşağıdaki URL'sini girin (değerini Azure Haritalar abonelik anahtarınızla ve
statesetId
ilestatesetId
değ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}
Üst Bilgiler sekmesini seçin.
ANAHTAR alanında öğesini seçin
Content-Type
. DEĞER alanında öğesini seçinapplication/json
.Gövde sekmesini seçin.
Açılan listelerde ham ve JSON'ı seçin.
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.
yerine 7. adımda kullandığınız URL'yi
UNIT26
UNIT27
değiştirin:https://us.atlas.microsoft.com/featurestatesets/{statesetId}/featureStates/UNIT27?api-version=2.0&subscription-key={Your-Azure-Maps-Subscription-key}
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.
Sonraki adımlar
Daha fazla bilgi için:
[Azure Haritalar Oluşturucu nedir?]