Is there a way to get an overlay of some kind to open in GE when the user loads my kml?
I want to add a splash screen with a disclaimer on it and i want to be sure each user sees it.
The overlay would appear as the kml is opened in GE and they would click to dismiss it.
Is this possible?
Try using CDATA for the description of the top-level object in your KML file (eg Doc or Folder). This will pop up as a balloon when user adds KML file to Google Earth.
If you're working with NetworkLinks, you could add the overlay when the NetworkLink first loads, then set refresh to occur a short time later (eg 5 seconds) which returns an Update with a to remove the Overlay.
Related
We are trying to incorporate an image within a link on an Acumatica report.
We are very close to getting the result we need with the 2018R2 version and have a strategy for a workaround in the 2018R1 version.
The TextBox control Is the only way we have found so far that will allow for setting a hyperlink within an invoice report definition. We are able to set a background image in the Appearance/Style/BackImage property. The only way we can get the whole image to be clickable is to have text span the whole control which is fine if we can set the text font to use a transparent color. Setting the Appearance/Style/Color seems to be the property to do this however when the report is previewed the font gets overridden and displayed as the standard Hyperlink color. The behavior when the report is rendered as a PDF via Acumatica’s email delivery system the font appears white. See Images for a visual.
Transparent Text in Report Preview
Transparent Text in Rendered PDF
There looks to be an Appearance/StyleName property for the TextBox control is there an underlying CSS file that can be further manipulated to also control the LinkText properties to display the LinkText in a transparent font? If yes is there any documentation that would help with doing this.
The 2018R1 versions and prior do not render a clickable link within a PDF if the above strategy is used. Per the ticket, I opened last week on the topic the only way to get this link is to have the whole URL on a single line.
PDFs rendered from a invoice definition hosting a hyperlink will not create a clickable link
This makes it a challenge to control the placement of the image to be centered as well as having only the space within the first line as being clickable. We have solved this in a different ERP system by having multiple links overlapping a background image also using transparent font. This required us to set the Z order so that the link controls are rendered on top of the back-ground image. The Acumatica Report Designer however appears to not have the ability to control Z order. Any attempt to place a link overtop of an image does not achieve the result we are looking for. If we can get this strategy to work we will likely also use it for the 2018R2+ versions to keep things consistent.
This screenshot depicts the strategy attempted.
Are there any other strategies to meet this requirement?
Thanks in advance.
For Version 2018 R2:
You can use the TextBox->Style->BackImage property to show the image and the NavigateUrl property to set the URL link. Html mode doesn't display back image but PDF mode will display it fine and the image link works:
For Version 2018 R1:
Unfortunately I didn't find a way to achieve this because I can't get the text to render transparent when it is located over an image.
There is z-order control (bring to front/send to back) in the report designer toolbar and right click context-menu. The problem here is that while the report designer supports overlapping control the report renderer doesn't. If controls are overlapping, when printing the report the overlapping controls won't get rendered on top of another like they are in the designer.
Having overlapping controls isn't really required here because we can display the image with the Textbox Style->BackImage property or with the Report->Style->BackImage.
It's also possible to make text font size bigger so you don't need multiple text box or set multiline=true with textwrap=false and repeat link on each line.
But the main issue remains rendering transparent text over an image. I couldn't find a way to do that. When there's an image under the text, the text is no longer transparent. That behavior happens for the textbox background image as well as the global report background image. This suggests to me that it might not be possible to put transparent text on top:
How can I put an icon in the top left label and make fullscreen? Apple allocates some space on top for the digital clock and back label. I would like to customize it, but I can't find anything in the SDK to enable this.
The top strip of the Watch screen is reserved for displaying the page title, or occasionally links such as "Cancel" by default for modal views, and the clock. It is not possible to hide this.
It is possible to set an empty title for a page. Some settings will alsoplace a background image behind this text (if you set the mode to 'Aspect Fill', at least in the current Xcode 6.2 beta 3). However, the portion of the image at the top of the screen is simply occluded by a black strip, so this does not achieve what you want.
Additionally, Apple have specifically recommended against displaying logos on the Apple Watch screen, with the rationale that the screen is too small to display for the user anything but actual content.
To set the Global tint:
Select the Interface Controller itself in Interface Builder by clicking on the Yellow circle at the top of the view of the screen.
Press Cmd-Opt-1 to display the File Inspector section of the Utilites on the right hand side.
Set the 'Global Tint' option in the section 'Interface Builder Document', as per the screenshot.
Not possible in the first cut but I think it will come later.
It's not actually a back label. The text in the top left of the Watch screen is the title of the current WKInterfaceController. You can change it by using -[WKInterfaceTitle setTitle:], but you are limited to content that is expressible in an NSString (so no UIImages).
It is possible to customise the status bar in watchOS 4.
Select your interface controller in the storyboard
Open the attributes inspector
Check the Full Screen checkbox
After doing this you can add your custom image to the left of the statusbar.
To put it simple, I have some placemarks in KML file, if I load this KML, then click on Placemark - balloon will show.
If i remove that KML, placemark is gone, but balloon still showed.
Anyway to make it close?
This should do the trick to close any open balloon:
ge.setBalloon(null);
I'm drawing the path of a ship sailing around the world, using a series of kml files, each containing multiple placemarks.
When I click on the last visible placemark, I DO NOT want to open a ballon containing text and a URL to the next file. Instead, I'd like GE to load and "flyto" the kml file that contains the next series of placemarks. So far, I haven't found a way to do this, so I'm wondering if it's possible. If so, how to? Thanks, John
I'm assuming you're using KML in Google Earth. KML doesn't have an "onclick" method for Placemarks like this, when you click on a placemark, it opens up a balloon if there is one to be opened. If you want something more guided, you can do a tour or you can open up a balloon that has a link with a ;flyto method added that takes you to a particular Placemark.
For the situation where the contents of the Infowindow are expensive to render, is there a way to get around the automatic closing of Infowindows when a Networklink is refreshed? I'm trying to get around this restriction:
https://developers.google.com/kml/faq#balloonopennl
When a NetworkLink refreshes all KML features associated with that Link are destroyed. If current "info window" description balloon is associated with the destroyed feature then it closes.
Only way to prevent the popup description balloon from closing is using the advanced NetworkLinkControl to update only what changed in the KML by id.
Unfortunately there is not a lot of good documentation for using NetworkLinkControl correctly.
Here is a tutorial but the details are a little sparse.
https://developers.google.com/kml/documentation/updates?hl=en