ContactDetailsThe ContactDetails element holds contact details for a Place. More... Inherits QtObject ContactDetails instantiates the C++ class QQmlPropertyMap This type was introduced in Qt Location 5.0. Methods
Detailed DescriptionThe ContactDetails element is a map of ContactDetail objects. To access contact details in the map use the keys() method to get the list of keys stored in the map and then use the [] operator to access the ContactDetail items. The following keys are defined in the API. Plugin implementations are free to define additional keys.
ExamplesThe following example shows how to access all ContactDetails and print them to the console: import QtLocation 5.0 function printContactDetails(contactDetails) { var keys = contactDetails.keys(); for (var i = 0; i < keys.length; ++i) { var contactList = contactDetails[keys[i]]; for (var j = 0; j < contactList.length; ++j) { console.log(contactList[j].label + ": " + contactList[j].value); } } } The returned list of contact details is an object list and so can be used directly as a data model. For example, the following demonstrates how to display a list of contact phone numbers in a list view: import QtQuick 2.0 import QtLocation 5.0 ListView { model: place.contactDetails.phone; delegate: Text { text: modelData.label + ": " + modelData.value } } The following example demonstrates how to assign a single phone number to a place in JavaScript: function writeSingle() { var phoneNumber = Qt.createQmlObject('import QtLocation 5.0; ContactDetail {}', place); phoneNumber.label = "Phone"; phoneNumber.value = "555-5555" place.contactDetails.phone = phoneNumber; } The following demonstrates how to assign multiple phone numbers to a place in JavaScript: function writeMultiple() { var bob = Qt.createQmlObject('import QtLocation 5.0; ContactDetail {}', place); bob.label = "Bob"; bob.value = "555-5555" var alice = Qt.createQmlObject('import QtLocation 5.0; ContactDetail {}', place); alice.label = "Alice"; alice.value = "555-8745" var numbers = new Array(); numbers.push(bob); numbers.push(alice); place.contactDetails.phone = numbers; } Note, due to limitations of the QQmlPropertyMap, it is not possible to declaratively specify the contact details in QML, it can only be accomplished via JavaScript. Method DocumentationReturns an array of contact detail keys currently stored in the map. |