On Aug 26, 7:49 pm, xf_aicn <xiaofan.zh...@asiainspection.com> wrote:http://www.geocodezip.com/v3_polyline_example_geodesic.html
> Hi all,
>
> Now i'm doing a project that connect two place with a
> polyline(geodesic is true), and then at the same time, show a marker
> on the middle of the polyline, how can I do this? I can't get the
> coordinate on thepolyline
Seems to be off the "native" google geodesic polyline. Don't know
why.
The center marker on the "normal" polyline seems off as well.
-- Larry
--
You received this message because you are subscribed to the Google Groups "Google Maps JavaScript API v3" group.
To post to this group, send email to google-map...@googlegroups.com.
To unsubscribe from this group, send email to google-maps-js-a...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-maps-js-api-v3?hl=en.
On Aug 26, 9:26 pm, Ben Appleton <apple...@google.com> wrote:
> On Fri, Aug 27, 2010 at 2:17 PM, geocode...@gmail.com
> <geocode...@gmail.com>wrote:
>IE6 (and Chrome, FF; Opera doesn't seem to want to show the map), but
> > On Aug 26, 7:49 pm, xf_aicn <xiaofan.zh...@asiainspection.com> wrote:
> > > Hi all,
>
> > > Now i'm doing a project that connect two place with a
> > > polyline(geodesic is true), and then at the same time, show a marker
> > > on the middle of the polyline, how can I do this? I can't get the
> > > coordinate on thepolyline
>
> >http://www.geocodezip.com/v3_polyline_example_geodesic.html
>
> > Seems to be off the "native" google geodesic polyline. Don't know
> > why.
>
> The geodesic marker looks OK me in Chrome/WinXP. I've attempted to attach
> an image, though I do not know if groups allows attachments.
>
> In which browser are you seeing the problem?
click on the marker then "zoom in" to see the difference in the
polylines (the green polyline is the "native" google maps one, the red
is the one that was calculated). How are the "native" geodesic
polylines rendered?
-- Larry
> > google-maps-js-a...@googlegroups.com<google-maps-js-api-v3%2B unsub...@googlegroups.com>
>
> The center marker on the "normal" polyline seems off as well.
>
>
>
> For the "normal" polyline did you average in LatLng space or projected
> coordinates? I couldn't spot it at a glance of your code.
>
> > -- Larry
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google Maps JavaScript API v3" group.
> > To post to this group, send email to
> > google-map...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > .> geodesic_markers.PNG
> > For more options, visit this group at
> >http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>
> 116KViewDownload
--
You received this message because you are subscribed to the Google Groups "Google Maps JavaScript API v3" group.
To post to this group, send email to google-map...@googlegroups.com.
To unsubscribe from this group, send email to google-maps-js-a...@googlegroups.com.
-- Larry
>
>
> > The center marker on the "normal" polyline seems off as well.
>
> > For the "normal" polyline did you average in LatLng space or projected
> > coordinates? I couldn't spot it at a glance of your code.
>
> > > -- Larry
>
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "Google Maps JavaScript API v3" group.
> > > To post to this group, send email to
> > > google-map...@googlegroups.com.
> > > To unsubscribe from this group, send email to
> > > google-maps-js-a...@googlegroups.com<google-maps-js-api-v3%2B unsub...@googlegroups.com>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>
> > geodesic_markers.PNG
> > 116KViewDownload
--
You received this message because you are subscribed to the Google Groups "Google Maps JavaScript API v3" group.
To post to this group, send email to google-map...@googlegroups.com.
To unsubscribe from this group, send email to google-maps-js-a...@googlegroups.com.
On Fri, Aug 27, 2010 at 2:53 PM, geoco...@gmail.com <geoco...@gmail.com> wrote:
On Aug 26, 9:26 pm, Ben Appleton <apple...@google.com> wrote:
> On Fri, Aug 27, 2010 at 2:17 PM, geocode...@gmail.com
> <geocode...@gmail.com>wrote:
>IE6 (and Chrome, FF; Opera doesn't seem to want to show the map), but
> > On Aug 26, 7:49 pm, xf_aicn <xiaofan.zh...@asiainspection.com> wrote:
> > > Hi all,
>
> > > Now i'm doing a project that connect two place with a
> > > polyline(geodesic is true), and then at the same time, show a marker
> > > on the middle of the polyline, how can I do this? I can't get the
> > > coordinate on thepolyline
>
> >http://www.geocodezip.com/v3_polyline_example_geodesic.html
>
> > Seems to be off the "native" google geodesic polyline. Don't know
> > why.
>
> The geodesic marker looks OK me in Chrome/WinXP. I've attempted to attach
> an image, though I do not know if groups allows attachments.
>
> In which browser are you seeing the problem?
click on the marker then "zoom in" to see the difference in the
polylines (the green polyline is the "native" google maps one, the red
is the one that was calculated). How are the "native" geodesic
polylines rendered?Oh interesting: if the green line is the native geodesic then it appears slightly off compared to the red line. At least one of them is wrong - I'll take a look.
To unsubscribe from this group, send email to google-maps-js-a...@googlegroups.com.
Larry,
1: 'projection_changed' fires when the map module loads and binds the MapType. Until that point the JS doesn't know the Projection that will be used.
2: the if(!projection) will happen if the MapType is set back to null/undefined. This is probably unusual so it is defensive programming.
3: this will work at all scales. It never interpolates across the dateline though, which can be fixed by checking if it is shorter to cross the dateline then unwrapping the longitudes before projecting.
I'm not sure of the exact definition of a thumb line, it's possible Mike's code is correct for a different purpose. I'd need to look it up.
Cheers
Ben
> To unsubscribe from this group, send email to google-maps-js-a...@googlegroups.com.
On Aug 27, 10:00 am, Ben Appleton <apple...@google.com> wrote:Is there any other way to tell when it is loaded? This means if I
> Larry,
>
> 1: 'projection_changed' fires when the map module loads and binds the
> MapType. Until that point the JS doesn't know the Projection that will be
> used.
want to use the projection in the GetPoint(s)AtDistance function, I
have to do my map initialization in 2 steps:
1. initialize the map object in the body onload function
2. initialize any polylines, points or markers that depend on
GetPoint(s)AtDistance/the projection in another "projection" onload
function.
Is there some kind of a "map" onload event the will tell me when
everything is ready?
This is another instance where some things aren't available right
away, it has come up before with map.getBounds not being useful until
sometime after the map has been created:
http://groups.google.com/group/google-maps-js-api-v3/browse_frm/thread/563ed63c2bd60749/2fd92dd62b833afd?lnk=gst&q=getBounds#2fd92dd62b833afd
It seem like this could make for nasty dependencies. Is there a
general solution?
To unsubscribe from this group, send email to google-maps-js-a...@googlegroups.com.
I mean simply that, if you refer to some property (such as projection)
when computing a value (such as a marker position), you probably want
to update the computation when the property changes.
> It doesn't just work, for something as simple as putting a marker on a
> polyline in a way that will always work. I can use the "simple"
> algorithm that doesn't depend on the projection, but that won't do the
> right thing in all cases. If I use the correct algorithm, I can't use
> it until after the map has completed initialization.
You can render your polys as geodesics, then they do not depend on the
projection. The problem here is that the API works with LatLngs as
much as possible (abstracting away the projection) but polys render as
rhumb lines as a fast default. Placing a marker in the middle of a
rhumb line depends on the projection, so you need to handle changes to
the projection.
>> 2 - If our API makes it tedious to do simple things, we should improve our
>> API.
>> We have held off making the bounds synchronously available, as that depends
>> on the projection, which depends on the maptype, which requires loading a
>> bunch more code upfront.
>
> I don't know the right answer, I just know that the way it is
> currently implemented is going to cause confusion. This is now the
> version of the API you want "everyone" to use.
Yes it is.
> Is there an event available when the map has finished initializing
> (everything is available)? That would make a 2-stage initialization
> easier, create the map when the onload function runs, then add all the
> contents when the "map ready" (or whatever) event fires.
If your code is going to be robust to property changes, such as
changes to the projection, you're going to have to listen for
'projection_changed' regardless. Once you make your code handle
property changes, you find you no longer care about "map ready",
because that is just another property change. So while a "map ready"
event might sound simpler, I'm concerned that it just hides the fact
that properties change, so your code will break when the user changes
eg. the map type.
> To unsubscribe from this group, send email to google-maps-js-a...@googlegroups.com.
This is not a problem today, but in future there may be other map
types with different projections. If the user switches between them,
your polyline midpoint marker will appear to be in the wrong place.
This is probably not a terrible issue in your application though.
>> Once you make your code handle
>> property changes, you find you no longer care about "map ready",
>> because that is just another property change. So while a "map ready"
>> event might sound simpler, I'm concerned that it just hides the fact
>> that properties change, so your code will break when the user changes
>> eg. the map type.
>
> That may be true. But:
> The example that put the marker in the middle of the normal polyline
> requires me to wait for the projection loaded event. That wasn't
> obvious. It required me to create the 2-stage initialization.
> Examples where I want to load something based on bounds, require me to
> wait for the bounds_changed event, how many of these different cases
> will there be? I suspect it will get messy. The "map ready" event
> would allow all of the second stage initialization to be done at once,
> a simpler paradigm for those that don't want to understand all the
> details (as I said above, I rarely, probably never, change the
> projection on the map).
>
> It seems like it will require a different mindset. I know you have a
> "light is better" design goal for this API, which is worthy. Just
> raising some food for thought and airing my concerns.
Thanks - that the bounds is not immediately ready confuses a lot of
developers, which strongly suggests we should change the API. We're
thinking about how best to do this.
> To unsubscribe from this group, send email to google-maps-js-a...@googlegroups.com.
No worries!
Ben
> To unsubscribe from this group, send email to google-maps-js-a...@googlegroups.com.