org-contacts: added org-contacts-show-map (requires google-maps-el)

Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
Rüdiger Sonderfeld 2011-05-01 00:16:25 +02:00 committed by Julien Danjou
parent 66e23e6403
commit e585be0859

View file

@ -54,6 +54,11 @@ If set to nil, all your Org files will be used."
:type 'string :type 'string
:group 'org-contacts) :group 'org-contacts)
(defcustom org-contacts-address-property "ADDRESS"
"Name of the property for contact address."
:type 'string
:group 'org-contacts)
(defcustom org-contacts-birthday-property "BIRTHDAY" (defcustom org-contacts-birthday-property "BIRTHDAY"
"Name of the property for contact birthday date." "Name of the property for contact birthday date."
:type 'string :type 'string
@ -594,4 +599,17 @@ Org-contacts does not specify how to encode the name. So we try to do our best."
(current-buffer) (current-buffer)
(progn (save-buffer) (kill-buffer))))) (progn (save-buffer) (kill-buffer)))))
(defun org-contacts-show-map (&optional name)
"Show contacts on a map. Requires google-maps-el."
(interactive)
(unless (fboundp 'google-maps-static-show)
(error "org-contacts-show-map requires google-maps-el."))
(google-maps-static-show
:markers
(loop
for contact in (org-contacts-filter name)
for addr = (cdr (assoc-string org-contacts-address-property (caddr contact)))
if addr
collect (cons (list addr) (list :label (string-to-char (car contact)))))))
(provide 'org-contacts) (provide 'org-contacts)