如何在打开之后加载注释图像,而不是之前

时间:2017-03-31 06:58:45

标签: javascript react-native

我在地图上有数以千计的注释。每个注释都是一个独特的图像。因此,除非用户要求,否则我不想在地图上加载所有图像。

我的注释有这个属性:

detailCalloutView: <Image source={{uri: data[i].img_url, cache: 'force-cache'}} style={styles.thumbnail} resizeMode={Image.resizeMode.contain}/>

如何在打开注释时仅加载图像?我不想通过打开所有注释来粉碎千兆字节的数据。

我想我需要对onFocus做点什么,但我不太确定如何。

1 个答案:

答案 0 :(得分:0)

更改此

detailCalloutView: <Image source={{uri: data[i].img_url, cache: 'force-cache'}} style={styles.thumbnail} resizeMode={Image.resizeMode.contain}/>

到此

detailCalloutView: <Image source="blanking.jpg" data-annotation={{uri: data[i].img_url, cache: 'force-cache'}} style={styles.thumbnail} resizeMode={Image.resizeMode.contain}/>

然后为地图中的所有图像添加一个事件监听器

var attr = this.getAttribute("data-annotation");
this.src = attr;

这是要添加的主要内容。现在即使关闭它也不必再次加载,因为src将永远是实际图像。我不打算为你包装整个JavaScript,但你应该从中获得要点。