ContactDetails QML Type

The ContactDetails type holds contact details for a Place. More...

Import Statement: import QtLocation 5.15
Since: QtLocation 5.5

Methods

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
  • email
  • 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 ContactDetails and print them to the console:

 import QtPositioning 5.5
 import QtLocation 5.6

 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 QtPositioning 5.5
 import QtLocation 5.6

 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.3; 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.3; ContactDetail {}', place);
     bob.label = "Bob";
     bob.value = "555-5555"

     var alice = Qt.createQmlObject('import QtLocation 5.3; 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.