ContactDetails QML Type
The ContactDetails type holds contact details for a Place. More...
Import Statement: | import QtLocation 6.7 |
Since: | QtLocation 5.5 |
Methods
- variant keys()
Detailed Description
The ContactDetails type 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.
- phone
- fax
- website
ContactDetails instances are only ever used in the context of Places. It is not possible to create a ContactDetails instance directly or re-assign ContactDetails instances to Places. Modification of ContactDetails can only be accomplished via Javascript.
Examples
The following example shows how to access all contact details and print them to the console:
import QtPositioning import QtLocation 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 import QtPositioning import QtLocation 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; 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; ContactDetail {}', place); bob.label = "Bob"; bob.value = "555-5555" var alice = Qt.createQmlObject('import QtLocation; ContactDetail {}', place); alice.label = "Alice"; alice.value = "555-8745" var numbers = new Array(); numbers.push(bob); numbers.push(alice); place.contactDetails.phone = numbers; }
Method Documentation
variant keys() |
Returns an array of contact detail keys currently stored in the map.