Sebastian Rose <sebastian_r...@gmx.de> writes: > Julien Danjou <jul...@danjou.info> writes: >> Hi there, >> >> I've recently wrote a Google Maps extension for Emacs[1]. >> >> Therefore, I've extended org-mode to display a Google Maps' map for an >> event location. The extension, which is very simple, is available >> here[2] and I wanted you to know about it. >> >> I'd be glad to have feedback. patches or ideas. ;) >> >> Happy hacking. >> >> [1] http://julien.danjou.info/google-maps-el.html >> >> [2] >> http://git.naquadah.org/?p=~jd/jd-el.git;a=blob;f=org-location-google-maps.el;hb=HEAD > > Wow - works pefect on emacs 24! > > > 'Current zoom level is unknown' > > I guess `google-maps-static-default-zoom' is not set (possible patch > appended). > > > Thanks for sharing :) > > We where talking about GEO locations and org-mode recently: > > > > > Sebastian > > > > diff --git a/google-maps-static.el b/google-maps-static.el > index 644408d..98d9ac8 100644 > --- a/google-maps-static.el > +++ b/google-maps-static.el > @@ -332,7 +332,7 @@ PLIST can contains this properties: > "Zoom a Google map in." > (interactive) > (unless (plist-member google-maps-static-params :zoom) > - (error "Current zoom level is unknown, cannot zoom in.")) > + (plist-set google-maps-static-params :zoom > google-maps-static-default-zoom)) > (google-maps-static-zoom (1+ (plist-get google-maps-static-params :zoom)))) > > (defun google-maps-static-zoom-out ()
Sorry, did not save before doing the `git diff'. I like this patch better anyway:
diff --git a/google-maps-static.el b/google-maps-static.el index 644408d..89c877a 100644 --- a/google-maps-static.el +++ b/google-maps-static.el @@ -328,12 +328,20 @@ PLIST can contains this properties: (max (min level google-maps-static-maximum-zoom) google-maps-static-minimum-zoom)) (apply 'google-maps-static-show plist))) -(defun google-maps-static-zoom-in () - "Zoom a Google map in." - (interactive) - (unless (plist-member google-maps-static-params :zoom) - (error "Current zoom level is unknown, cannot zoom in.")) - (google-maps-static-zoom (1+ (plist-get google-maps-static-params :zoom)))) +(defun google-maps-static-zoom-in (&optional arg) + "Zoom a Google map in. +If the numeric prefix argument ARG is set, zoom in this much levels." + (interactive "p") + (let* ((arg (if (> 1 arg) 1 arg)) + (current (or (plist-get google-maps-static-params :zoom) + google-maps-static-default-zoom)) + (next (if (and (<= (+ arg current) google-maps-static-maximum-zoom) + (>= (+ arg current) google-maps-static-minimum-zoom)) + (+ arg current) + google-maps-static-maximum-zoom))) + (setq google-maps-static-params + (plist-put google-maps-static-params :zoom next)) + (google-maps-static-zoom next))) (defun google-maps-static-zoom-out () "Zoom a Google map out."
Sebastian
_______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode